我发现了多种创建转储文件的方法,例如使用 windows 实用程序 userdump 和 adplus.vbs 以及其他一些方法。我在任务管理器中找到了一个选项似乎是最简单最简单的一个打开任务管理器+选择进程+右键单击+创建用户转储。使用 taks manager 创建的 .dmp 文件与使用 win 实用程序创建的文件有什么不同吗?
让用户从任务管理器创建转储文件比让他运行实用程序容易得多。
请记住,在 64 位操作系统上,任务管理器为 WOW 进程创建的转储将是 64 位转储。这可能会导致问题,尤其是在调试托管代码时。对于 32 位 WOW 进程,通常最好使用 32 位实用程序。
不确定从任务管理器创建的 minidump 有什么区别,但如果您想了解更多信息,那么最好的办法是以编程方式创建 minidump 并设置适当的标志(请注意,某些标志取决于操作系统)或使用 Dr. Watson,您可以在其中简单地选中转储文件中所需信息的框。
您可以使用以下方式以编程方式创建转储:http MiniDumpWriteDump
: //msdn.microsoft.com/en-us/library/windows/desktop/ms680360%28v=vs.85%29.aspx有一篇关于此的 SO 文章:如何创建我的进程崩溃时的小型转储?
您还可以设置博士。Watson 在崩溃发生时为您生成它们:http: //kb.acronis.com/content/2191
任务管理器解决方案很好,但自动生成它们更好 IMO 并以编程方式生成它们可以让您更好地控制和转储特定于您的应用程序的其他信息的选项。
我们用于捕获最终用户计算机上的崩溃或挂起的方法之一是使用出色的 ProcDump 实用程序,我们编写一个简单的批处理脚本,该脚本要么坐下来等待应用程序无响应,要么您可以设置其他条件,例如当 CPU 使用率达到特定点时。我在这个回复中举了一个例子。