如何通过 windbg 命令将 $ip 值写入 windbg 文件
How to write $ip value to file in windbg by windbg command
我想使用 windbg 将变量值写入文件。
例如,如果断点匹配,如何将 $ip
值写入文件?
要读取该注册表值,请输入命令:
您可以使用 GUI 将 window 的内容写入文本:
Edit->Write Window Text To File'
或使用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 参数和日志位置。
正如 ThomasW 所指出的,这将在每次命中断点时覆盖日志,所以如果这种行为是不可取的,那么使用 .logappend
代替
我想使用 windbg 将变量值写入文件。
例如,如果断点匹配,如何将 $ip
值写入文件?
要读取该注册表值,请输入命令:
您可以使用 GUI 将 window 的内容写入文本:
Edit->Write Window Text To File'
或使用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 参数和日志位置。
正如 ThomasW 所指出的,这将在每次命中断点时覆盖日志,所以如果这种行为是不可取的,那么使用 .logappend
代替