Windbg:添加多个未解决的断点

时间:2017-10-19 10:48:43

标签: windbg breakpoints

我有一个卸载的模块,我想添加未解决的断点,但我无法让它工作。

我试过了

  1. 使用bm中的通配符。这似乎不受支持

    bu "RPS32!*"

  2. 显式地命名方法,但每个断点都被赋予了id 0.这只设置了最后添加的断点。

    bu "RPS32!RpsConvertBuffer"

    bu "RPS32!RpsConvertFile"

  3. 明确命名方法 id。身份似乎并不坚持。每个断点再次重新定义id 0,并且实际上只设置了最后添加的断点。

    bu39 "RPS32!RpsConvertBuffer"

    bu40 "RPS32!RpsConvertFile"

  4. 所以我的问题实际上是双重的:

    • 是否可以有多个未解决的断点?
    • 如果可能,我使用的语法有什么问题?

1 个答案:

答案 0 :(得分:1)

我自己再次陷入同样问题的可能性非常高,所以我出于自身兴趣回答了我自己的问题。

删除方法

周围的引号

可能这是WinDbg Breakpoint语法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"