有没有办法在纯 headless 模式下使用 WinDbg? 我的用例是我应该能够在不启动 WinDbg GUI 的情况下为命令行上的小型转储模仿“!analyze -v”命令。
最佳答案
对于 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"
关于c++ - 以 headless 模式运行 WinDbg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27954835/