我想使用windbg将一个变量值写入文件中。例如,如果断点匹配,如何将$ip值写入文件?
发布于 2015-03-13 08:55:33
要读取该注册表值,请输入以下命令:
您可以使用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命令(实际上是可选的,但它允许您编写一些注释),然后使用r ip显示$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参数和日志位置。
正如ThomasW所指出的,这将在每次命中断点时覆盖日志,因此如果这种行为不可取,则使用.logappend代替。
https://stackoverflow.com/questions/29027558
复制相似问题