我最近研究了用于调试器实现的Windows API函数。 现在我知道如何基本调试程序并读取程序内存。
我还发现了处理某些“调试事件”的函数,例如断点(我的理解是函数调用,它们被植入要由编译器调试的程序中)。
但我没有看到任何能使调试器逐步执行程序的功能(无论是逐条指令还是逐行指令)。
我对此非常好奇,非常感谢任何帮助!
提前谢谢!
圣拉斐尔
答案 0 :(得分:4)
x86有TF
,跟踪标记。在此模式下,每条指令都会生成INT 1
。这意味着您不必继续调整硬件断点寄存器。
答案 1 :(得分:3)
x86处理器具有所谓的硬件断点。基本上,您可以设置特定寄存器。当程序计数器达到存储在寄存器中的值时,程序被中断并控制给调试器。请参阅此简要说明以获得更好的理解。 http://en.wikipedia.org/wiki/X86_debug_register