.net - .NET CLR线程转储是否与Java的 “kill -3”等效?

标签 .net multithreading clr dump

Java具有由发送给进程的信号3触发的线程转储(例如“kill -3 PID”)。我为.NET找到的等效项是使用ADPlus(http://support.microsoft.com/kb/286350)。这基本上是连接调试器,进行小型转储并执行一些命令。我发现.NET的方法是一种非常强力的,笨拙的方法,而且似乎也较慢。

有谁知道其他选择吗?

(顺便说一句,我最近找到了以下URL,但没有尝试过:http://www.interact-sw.co.uk/iangblog/2004/11/16/stackdump)

谢谢。

最佳答案

msdn上有一个"how to create dump",它提供了4种方法,也许第三种方法可能值得您尝试。

  • 在Visual Studio中调试 native 进程时,可以从“调试”菜单中保存转储。有关更多信息,请参见How to: Save and Open Dump Files
  • 如果启用了即时调试,则可以附加到在调试器外部运行的崩溃进程,中断该进程,然后保存转储文件。有关更多信息,请参见How to: Save and Open Dump Files
  • 您可以使用UserDump实用程序创建转储,该实用程序是OEM支持工具包的一部分。您可以从http://download.microsoft.com/download/win2000srv/Utility/3.0/NT45/EN-US/Oem3sr2.zip下载副本。
  • 您可以使用Autodump +(AD +)实用程序创建转储,该实用程序是Windows的Microsoft调试工具的一部分。您可以从Windows Hardware Developer Central的http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx下载Windows调试工具。
  • 关于.net - .NET CLR线程转储是否与Java的 “kill -3”等效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/206858/

    相关文章:

    java - 在 Parse android API 上调用 findInBackground() 时,我们会在哪个线程上得到回调

    c++ - QtScript 和线程

    c# - 引用某些 .NET 库的多个版本的程序集

    c++ - 当通过 C++ 在控制台中接收来自用户的信息时,如何将 "Enter"保留在当前行中?

    .net - 为什么枚举派生自 System.Enum 并且同时是整数?

    .net - 如何在给定日期的一周内获得工作日?

    .net - 有没有一种简单的方法可以为整个应用程序设置默认字体?

    java - 如何终止发送长时间运行的 HTTP 请求的线程?

    c# - 如何在 C# 中将 System.Decimal 位转换为字符串?

    c# - 通过索引/键引用时列表与字典