如何通过windbg命令将$ ip值写入windbg中的文件

时间:2015-03-13 08:15:08

标签: windbg

我想使用windbg将变量值写入文件。 例如,如果断点匹配,如何将$ip值写入文件?

1 个答案:

答案 0 :(得分:4)

要读取该注册表值,请输入命令:

r ip

您可以使用GUI将窗口内容写入文本:

  

编辑 - >将窗口文本写入文件'

或使用logopen

来自我的windbg会话的示例完整命令如下所示:

0:392> r ip
ip=590
0:392> .logopen c:\data\ip.txt
Opened log file 'c:\data\ip.txt'
0:392> .echo ip register val:; r ip
ip register val:
ip=590
0:392> .logclose
Closing open log file c:\data\ip.txt

所以在这里我使用.logopen打开一个日志文件,然后发出.echo命令(可选,但它允许你写输出一些注释),然后显示$ip寄存器值使用r ip,最后关闭日志.logclose

这将生成包含以下内容的日志:

Opened log file 'c:\data\ip.txt'
0:392> .echo ip register val:; r ip
ip register val:
ip=590
0:392> .logclose
Closing open log file c:\data\ip.txt

所以完整的事情会是这样的:

bp myll!myfunc ".logopen c:\folder\ip.txt; .echo ip register value:; r ip; .logclose"

当然可以根据需要替换bp params和log location。

正如ThomasW指出的那样,每次遇到断点时都会覆盖日志,因此如果不希望出现这种情况,请改用<{3}}