2

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

谢谢。

4

1 回答 1

2

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 Debugging Tools for Windows 的一部分。您可以从位于http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx的 Windows 硬件开发人员中心下载适用于 Windows 的调试工具。

于 2008-10-16T08:30:20.917 回答