在!eb windbg命令中使用$ t0值来写入物理内存

时间:2017-01-10 20:00:25

标签: windbg

我正在编写一个WinDbg脚本来编写一些物理内存,使用!ed命令在内核调试模式下运行它。

当我使用给定值手动运行时,

!ed正常工作,例如!ed 9182f084 8

我现在想在脚本中运行它,其中写入的值来自伪寄存器。但以下不起作用:

r $t0=8
!ed 9182f084 @$t0

在这种情况下,我无法弄清楚它正在写什么价值,但它显然不是我希望的整数值8。

感谢任何提示!

1 个答案:

答案 0 :(得分:1)

对我也不起作用。看起来!ed命令错误地解析了参数。您可以指定完全无效的内容,它只是默默地忽略该命令。例如,我甚至没有得到这个错误:

kd> !ed 4318b20 XYZ

除了编写自己的.ed版本之外,我能想到的唯一方法就是使用别名:

kd> r @$t0 = 8
kd> as /x ${/v:t0Val} @$t0
kd> !ed 4318b20 ${t0Val}
kd> !dd 4318b20 L1
# 4318b20 00000008

非常荒谬的指定“8”的方法,但是如果你想把它放到一个脚本中它就有用。