WinDbg 抑制错误对话框

WinDbg suppress error dialog

我使用 WinDbg 解析来自某些 windows 应用程序的崩溃报告。我使用 batch script.It 解析它们工作正常。崩溃报告由 WinDBG 解析并终止进程。

但是有一些损坏的崩溃报告导致 WinDbg 显示错误对话框 "failure when opening crash dump"。这导致 WinDBG 继续工作,因此批处理脚本冻结。我想避免这种情况。我使用了标志 [-Q | -QY] [-QS | -QSY]。他们不会压制我的错误信息。 我可以用另一种方式解析我的崩溃报告来避免这个问题吗?

正如 Ryan Bemrose 所说,您将很难从损坏的转储文件中获得有用的信息。而且,如果您确实成功打开了它,您将始终想知道您所看到的是触发转储的错误的一部分还是损坏转储的产物。

就是说,如果您只是想防止自动脚本因输入错误而阻塞,那么有一个工具可以提供帮助。 DumpChk.exe 将转储文件作为输入并告诉您它是否已损坏。您可以通过在调用后检查 errorlevel 来编写脚本。

脚本看起来像这样:

dumpchk "%1"
if not errorlevel 1 (
   windbg -z "%1" -c "your analysis script"
) else (
    echo "Bad dump file: %1"
)

(其中 %1 是转储文件。)

此外,您可以查看 cdb 而不是 WinDbg。它使用与 WinDbg 相同的后端,但在命令行上对 运行 更友好一些。