我想在特定的寄存器上设置一个断点,每当该寄存器保存指定值时触发。
以下是一个示例:
mov eax,10
mov ebx,12
inc eax
dec eax
伪代码:
bp @eax=0x10
我想在第1行和第4行断点。
注意:我不想仅在某个地址上创建断点。
我想在特定的寄存器上设置一个断点,每当该寄存器保存指定值时触发。
以下是一个示例:
mov eax,10
mov ebx,12
inc eax
dec eax
bp @eax=0x10
我想在第1行和第4行断点。
注意:我不想仅在某个地址上创建断点。
因此,在 x86 机器上,WinDbg 使用 调试寄存器 DR0 到 DR3 进行数据断点调试。有关特定处理器如何处理此情况的详细信息,请参阅处理器架构手册,并查找“调试寄存器”或“调试控制寄存器”。
p
命令指定一个命令,但请注意它将跳过call
指令,这可能不是您想要的。
tp FFFFF while eax != 10 silent 1
,但我不知道windbg。 - ecmcmp eax,10
jne $+3
bpHere: nop
并重新汇编。 - vitsoft