c++ - 以 headless 模式运行 WinDbg

标签 c++ windows debugging windbg crash-dumps

有没有办法在纯 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/

相关文章:

c++ - 类设计任务的文字描述?

windows - 在 Windows 中获取 TCP 套接字统计信息

javascript - 理解 jquery - 构造函数错误?

c++ - 具有系统时间的 CCLog,如 NSLog

C++动态绑定(bind)问题

c++ - 将分区转换为 vhd Windows API

windows - 如何在保留 Windows 中当前文件夹结构的同时将 x 天前的文件从文件夹和子文件夹复制到新位置?

c# - 在 C# 项目中使用伪变量

google-chrome - 尝试使用 Debugger For Chrome 插件在 VSCode 中使用 "Attach to Chrome"选项进行调试时出错

c++ - 在贪吃蛇游戏中使用 SDL_FillRect