0
我想使用windbg将变量值写入文件。例如,如果断点匹配,如何将$ip
值写入文件?
我想使用windbg将变量值写入文件。例如,如果断点匹配,如何将$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
命令(可选真的,但它可以让你写输出一些注释打开日志文件),然后使用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 PARAMS和您的需求日志的位置。
由于ThomasW指出,这会在每次命中断点因此,如果这种行为是不可取的,然后使用.logappend
代替
难道'.logopen'每次覆盖该文件时覆盖日志?你可以用'/ t'开关来添加时间或者使用'.logappend'。 – 2015-03-13 21:17:54
如果您不喜欢数字格式,您还可以使用'.printf'%p \ n“,@ ip;'或类似的代替'r ip'。 – 2015-03-13 21:25:12
@ThomasW。这是真的,但OP真正想要的东西还没有被定义,但这是一个公平点 – EdChum 2015-03-13 21:31:30