如何配置windows从应用程序生成核心转储?

92dk7w1h  于 2023-10-22  发布在  Windows
关注(0)|答案(7)|浏览(178)

如何配置windows从应用程序生成核心转储?
我使用的是Win XP,应用程序是用Visual Studio 2003构建的。

vlf7wbxs

vlf7wbxs1#

微软有一个名为Userdump.exe的免费工具可以做到这一点。
使用该工具为因异常而关闭的进程创建转储(.dmp)文件或为挂起的进程创建转储文件非常简单

np8igboo

np8igboo2#

再提一些其他的建议:

  • ProcDump,是MS SysInternals套件的一部分(它捕获崩溃,但也会加载更多,如果CPU使用率在一段时间内达到峰值,可以转储,等等)
  • 你可以使用MiniDumpWriteDump将代码放入你的exe中来保存你自己的转储文件(我已经在一些工具中做到了)。您可以控制名称和位置(即,网络路径)。有一些示例代码here
vmdwslir

vmdwslir3#

您可以打开任务管理器(通过右键单击任务栏),在进程选项卡中找到您的进程,右键单击它并选择创建转储文件

68de4m5k

68de4m5k4#

您可以尝试使用WinDbg,如此处所述。

jdzmm42g

jdzmm42g5#

可以使用adplus为正在运行的应用程序生成崩溃转储。命令可能看起来像这样:

C:\Program Files\Debugging Tools for Windows\adplus.vbs -hang -do -o c:\ -quiet -pn theprocess.exe

您也可以使用windbg附加到进程并运行以下命令:

.dump /ma c:\somepath\filename.dmp
mwg9r5ms

mwg9r5ms6#

关于这个问题,我建议你参考下列文件。您通常会使用Windows调试工具之一来调试转储文件,例如:网上有很多文章描述如何做到这一点。

bzzcjhmw

bzzcjhmw7#

我知道美联社是关于Win XP的,但这是非常过时的,所以我张贴的答案高于Windows Server 2008和Windows Vista与Service Pack 1。
使用WER(Windows Error Reporting)在应用程序崩溃时生成转储文件。它也可以在用户的计算机上使用。
只需要添加一个注册表项:

(as an expandable string)
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\DumpFolder

设置为%LOCALAPPDATA%\CrashDumps
或者,您可以通过定义子项或限制要保留的转储文件的数量来筛选您自己的应用程序。查看上面的链接以了解所有可能性。

相关问题