Java具有由发送到进程的信号3触发的线程转储(例如“kill -3 PID”)。我发现.NET的等价物是使用ADPlus( http://support.microsoft.com/ KB / 286350 )。这基本上附加了调试器,进行小型转储,并执行一些命令。我发现.NET的方法是一种非常蛮力,狡猾的方法,而且它看起来也慢了。

有没有人知道其他选择吗?

(顺便说一下,我最近发现了以下网址,但没有尝试过: http://www.interact-sw.co.uk/iangblog/2004/11/16/stackdump

感谢。

有帮助吗?

解决方案

有一个“如何创建转储” msdn,它提供了4种方法,也许第三种方法可能值得你尝试。

  1. 在Visual Studio中调试本机进程时,可以从“调试”菜单中保存转储。有关详细信息,请参阅如何:保存并打开转储文件

  2. 如果启用了即时调试,则可以附加到在调试器外部运行的崩溃进程,中断进程,然后保存转储文件。有关详细信息,请参阅如何:保存并打开转储文件

  3. 您可以使用UserDump实用程序创建转储,该实用程序是OEM支持工具包的一部分。您可以从 http://下载副本download.microsoft.com/download/win2000srv/Utility/3.0/NT45/EN-US/Oem3sr2.zip

  4. 您可以使用Autodump +(AD +)实用程序创建转储,该实用程序是Microsoft的Microsoft调试工具的一部分。您可以从Windows硬件开发人员中心下载适用于Windows的调试工具,地址为 http:// www .microsoft.com / WHDC / DevTools /调试/ default.mspx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top