如何以编程方式指的是WindBG中的断点



程序化断点IDS

断点语法(Learn.microsoft.com(声称有关使用ID的表达式设置断点。

断点ID不必明确提及。相反,你 可以使用分辨到整数的数值表达式 对应于断点ID。表明表达应该 被解释为断点,使用以下语法。

b?[Expression]

在本语法中,需要方括号,并且表达式代表了分辨到与断点ID相对应的整数的任何数值表达式。

这正是我想做的。但是,它似乎对我不起作用。他们给出的一个例子

b?[@$t0]

产生语法错误。我尝试了其他几种方法。

0:000> r $t0 = 300
0:000> ? $t0
Evaluate expression: 768 = 00000300
0:000> b?[@$t0]
        ^ Syntax error in 'b?[@$t0]'
0:000> b0
        ^ Syntax error in 'b0'
0:000> b
        ^ Syntax error in 'b'
0:000> bl?[@$t0]
        ^ Syntax error in 'bl?[@$t0]'
0:000> bl
 0 e 77c27d89     0001 (0001)  0:**** ntdll!LdrpDoDebuggerBreak+0x2b
0:000> bl0
 0 e 77c27d89     0001 (0001)  0:**** ntdll!LdrpDoDebuggerBreak+0x2b
0:000> bl300
0:000>

我真的不知道给出的示例是否可行,因为bb0不起作用。但是,我似乎无法将类似的语法用于与硬编码值一起使用的命令。

如何使用此(神话?(功能?

(windbg 10.0.17134.12 x86(

what the the the the the the the the the the the the the the the the the the the the the the the the the class class clastute acte of the the p,u,a(BP1 .. BPN |BA1 ...禁令|bu1 .. bun

0:000> bl
 0 e 62e5f7a0     0001 (0001)  xxx
 1 e 62e5f7a2     0001 (0001)  xxx
 2 e 62e5f7a3     0001 (0001)  xxx
 3 e 62e5f7a5     0001 (0001)  xxx
0:000> bp[8-5]
breakpoint 3 exists, redefining
breakpoint 0 redefined
0:000>

或更好的使用场景

0:000> bp .
0:000> bl
 0 e 77ac05a6     0001 (0001)  0:**** ntdll!LdrpDoDebuggerBreak+0x2c
0:000> r $t0 =0
0:000> bp[@$t0] ntdll!LdrpCompareServiceChecksum
breakpoint 0 exists, redefining
0:000> bl
 0 e 77a4b931     0001 (0001)  0:**** ntdll!LdrpCompareServiceChecksum
0:000> bp[@$t0] kernel32!CreateWaitableTimerExA
breakpoint 0 exists, redefining
0:000> bl
 0 e 77584202     0001 (0001)  0:**** kernel32!CreateWaitableTimerExA
0:000>

最新更新