在无头模式下运行WinDbg

时间:2015-01-15 00:14:16

标签: c++ windows debugging windbg crash-dumps

在纯无头模式下有没有办法让WinDbg? 我的用例是我应该能够在命令行上为minidump模仿“!analyze -v”命令而无需启动WinDbg GUI。

1 个答案:

答案 0 :(得分:3)

使用Windows调试工具,还有cdb,即控制台调试器。

要调试故障转储,请使用-z "<dump>"选项。要立即运行命令,请使用-c "<command>"。要将所有内容输出到文件中,您可以使用通常的DOS > <file>重定向输出,或使用.logopen <file>打开日志文件。要在分析后退出CDB,请使用q

您希望确保正确设置符号,因此请添加.symfix <path>;.reload。我更喜欢在命令而不是.symfix <symbolpath>中使用-y <symbolpath>,所以我总是可以在日志中检查它是否已正确设置。

完整命令行(使用重定向)

"<windbgpath>\cdb.exe" -z "<dumpfile>" -c ".symfix <symbolpath>;.reload;!analyze -v;q" > "<logfile>"

重定向的缺点:行结尾仅为LF。调试器启动时会产生很多噪音。

完整命令行(使用日志文件)

"<windbgpath>\cdb.exe" -z "<dumpfile>" -c ".logopen <logfile>;.symfix <symbolpath>;.reload;!analyze -v;.logclose;q"