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

Windbg: add multiple unresolved breakpoints

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

我试过了

  1. 使用通配符,如 bm。好像不支持

    bu "RPS32!*"

  2. 明确命名方法,但每个断点都分配了 id 0.This 只为最后添加的断点设置断点。

    bu "RPS32!RpsConvertBuffer"

    bu "RPS32!RpsConvertFile"

  3. 显式命名方法 的 id。 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"