我正在编写一个运行几个WinDbg命令的脚本,输出一些命令的输出,并使用.foreach解析其他命令。
我的问题是,当我尝试跑步时:
0: kd> dt -b -r 0xdeadbeef drivername!DRIVER_DEVICE_CONTEXT
输出看起来像这样:
+0x000 variable1 : 5
+0x004 variable2 : 0
+0x008 variable3 : 1
+0x00c variable4 : 1
+0x010 variable5 : 8
+0x014 variable6 : (null)
+0x018 variable7 : 1
+0x01c table1 : ""
[00] 0 ''
[01] 0 ''
[02] 0 ''
[03] 0 ''
...
创建别名'command',即该命令,然后运行:
.foreach(word {command}) { .echo "word" }
会给出错误:
Syntax error at .echo """"
有没有办法直接。如果word是“???
,继续Running al显示以下内容:
Alias Value
------- -------
command dt -b -r 0xdeadbeef drivername!DRIVER_DEVICE_CONTEXT
word ""
答案 0 :(得分:1)
尝试使用单引号:
.foreach(word {command}) { .echo 'word' }
我可以建议你将python与windbg一起使用吗?它会让你的生活更轻松:)
如果它不喜欢你,你总是可以退回来:)。
例如:
DRIVER_DEVICE_CONTEXT = typeInfo( "drivername!DRIVER_DEVICE_CONTEXT" )
for fieldName, fieldType in DRIVER_DEVICE_CONTEXT:
print fieldName