我使用WinDbg来解析某些Windows应用程序的崩溃报告。我使用批处理脚本解析它们。它工作正常。崩溃报告由WinDBG解析并且进程终止。
但是有一些损坏的崩溃报告导致WinDbg显示错误对话框“打开崩溃转储时失败”。这导致WinDBG继续工作,因此批处理脚本冻结。我想避免这种情况。我用过标志[-Q | -QY] [-QS | -QSY。它们不会抑制我的错误消息。 我可以用其他方式解析崩溃报告以避免此问题吗?
答案 0 :(得分:1)
正如Ryan Bemrose所说,你将很难从腐败的转储文件中获得任何有用的东西。而且,如果你成功打开它,你总是想知道你所看到的是否是触发转储或腐败转储工件的错误的一部分。
也就是说,如果你只是想让你的自动脚本阻止输入错误,那么有一个工具可以提供帮助。 DumpChk.exe
将转储文件作为输入,并告诉您它是否已损坏。您可以通过在通话结束后查看dumpchk "%1"
if not errorlevel 1 (
windbg -z "%1" -c "your analysis script"
) else (
echo "Bad dump file: %1"
)
来编写脚本。
脚本看起来像这样:
{{1}}
(%1是转储文件。)
另外,您可以查看cdb
而不是WinDbg。它使用与WinDbg相同的后端,但在命令行上运行会更友好。