当前位置:恒健海外生殖 > 供卵公司 >
调试程序时,设置断点的原理是什么?
文章来源:http://www.llzyw.com  发布日期:2023-02-01

调试程序时,设置断点的原理是什么?

对于程序员来说,debug的时间往往比写程序的时间还要长。尤其对我这种专写bug为主的程序员来说,一个好的调试器意味着早点下班和休息。现在方便的调试器很多,有著名的VisualStudio(VS)等IDE,也有免费的Windbg和GDB等等。加个断点也很简单,就是按一下键而已。但你有没有想过,调试器Debugger并不能控制程序的执行顺序,为什么它可以让CPU在需要的地方停住呢?

今天我们就来揭开调试断点的神秘面纱,并通过一个实例来看看调试器实际都做了些什么。调试器能够随心所欲的停止程序的执行,主要通过软件断点和硬件断点两种方式。

软件断点

软件断点在X86系统中就是指令INT3,它的二进制代码opcode是0xCC。当程序执行到INT3指令时,会引发软件中断。操作系统的INT3中断处理器会寻找注册在该进程上的调试处理程序。从而像Windbg和VS等等调试器就有了上下其手的机会。

调试程序时,设置断点的原理是什么?

有的用户被吓得够呛,以为计算机过热了,喊烫了,赶紧关机,十分搞笑。


参考资料

标签: