如何将WinDBG中命令的输出保存到文本文件中

时间:2022-07-18 19:41:41

转自:http://www.cnblogs.com/awpatp/

从本质上说, 这个功能是WinDBG的日志功能的一个应用而已. WinDBG的log功能可以记录你在WinDBG中使用的每一个命令以及其对应的输出.


那么如何开启WinDBG的日志功能呢?

首先, 可以选择从命令行中启动WinDBG. 举例, 使用下面的带有-logo参数的命令:

windbg.exe -logo c:\logfile.txt 

其次, 如果你已经在一个debug session里了, 你可以使用.logopen命令来开始记录.


回答本文标题中的问题,  步骤如下:


第一步, 开启日志记录:

.logopen d:\output.txt
第二步, 运行你想要输出到文本文件中的命令:

!address
第三步, 关闭日志记录:

.logclose
第四步, 检查是否还有日志记录打开:

.logfile


如何在WinDBG里保存运行过的命令的历史记录? 


比方说你抓了个full dump, 在debug一个很复杂的问题, 可能你已经有了结果, 或者还在研究当中, 这时你被别的事情打搅了, 回家了, 第二天来重开dump文件, 不记得昨天做到哪里了. 在或者说, 你的同事很牛, 他分析了dump文件并得出了结论. 你想学一下他的思路. 

在这两种情况下, 让windbg把曾经输入过的命令按顺序写到文件里的功能就相当有帮助了. 


命令举例如下:


.write_cmd_hist c:\WindbgCmdHistory.txt