如何实现程序动画(在调试器中逐步执行/单步执行)? (例如在VSC ++中)

时间:2014-01-23 06:00:16

标签: c++ debugging winapi

我最近研究了用于调试器实现的Windows API函数。 现在我知道如何基本调试程序并读取程序内存。

我还发现了处理某些“调试事件”的函数,例如断点(我的理解是函数调用,它们被植入要由编译器调试的程序中)。

但我没有看到任何能使调试器逐步执行程序的功能(无论是逐条指令还是逐行指令)。

我对此非常好奇,非常感谢任何帮助!

提前谢谢!

圣拉斐尔

2 个答案:

答案 0 :(得分:4)

x86有TF,跟踪标记。在此模式下,每条指令都会生成INT 1。这意味着您不必继续调整硬件断点寄存器。

答案 1 :(得分:3)

x86处理器具有所谓的硬件断点。基本上,您可以设置特定寄存器。当程序计数器达到存储在寄存器中的值时,程序被中断并控制给调试器。请参阅此简要说明以获得更好的理解。 http://en.wikipedia.org/wiki/X86_debug_register