Windbg:添加多个未解决的断点
问题描述:
我有一个卸载的模块,我想添加无法解析的断点,但我无法使其工作。Windbg:添加多个未解决的断点
我已经试过
-
使用通配符作为
bm
。这似乎不被支持bu "RPS32!*"
-
明确命名的方法,但每个断点获取的分配ID 0.This只设置最后添加的断点。
bu "RPS32!RpsConvertBuffer"
bu "RPS32!RpsConvertFile"
-
明确命名方法和编号的。该ID似乎并不坚持。每个断点再次只是重新定义了id 0,并且只有最后添加的是实际设置的。
bu39 "RPS32!RpsConvertBuffer"
bu40 "RPS32!RpsConvertFile"
所以我的问题实际上是双重的:
- 是否有可能有多个未解决的断点?
- 如果可能,我使用的语法有什么问题?
答
我自己再次遇到这个问题的机会相当高,所以我几乎回答自己的兴趣问题。
删除周围的方法引用
这大概是WinDbg中断点语法101,但增加周围的方法行情使得WinDbg的
- 使用当前指令的地址加一个未解决的断点
- 重用Id 0
- 并将引号之间的内容解释为命令。
望着断点列表,那一分钱真的应该下降更快
(1e48.1c10): Break instruction exception - code 80000003 (first chance)
eax=00000000 ebx=00000000 ecx=08160000 edx=0012e118 esi=fffffffe edi=00000000
eip=77220ed4 esp=0025f93c ebp=0025f968 iopl=0 nv up ei pl zr na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000246
ntdll!LdrpDoDebuggerBreak+0x2c:
77220ed4 cc int 3
0:000> bu "Unresolved1"
0:000> bu "Unresolved2"
breakpoint 0 redefined
0:000> bl
0 e Disable Clear 77220ed4 0001 (0001) 0:**** ntdll!LdrpDoDebuggerBreak+0x2c "Unresolved2"
你尝试BU和ID之间的空间? 例如'bu 39“RPS32!RpsConvertBuffer”'? 你也可以使用x命令对这些函数进行查找:x/D/f RPS32!RpsConvert * – GamerJ5
@ GamerJ5 - 当我尝试添加断点时,模块被卸载,因此查找不会返回任何内容。添加空格会改变语义。它在地址39处添加一个未解决的断点,并在触发时执行命令“RPS32!RpsConvertBuffer”。 –
@ GamerJ5 - 看起来引用是责备:S。添加不带引号的bu断点工作得很好。 –