阅读背景:

【系统篇】从int 3探索Windows应用程序调试原理

来源:互联网 

探索调试器下断点的原理

  在Windows上做开发的程序猿们都知道,x86架构处理器有一条特殊的指令——int 3,也就是机器码0xCC,用于调试所用,当程序执行到int 3的时候会中断到调试器,如果程序不处于调试状态则会弹出一个错误信息,之后程序就结束。使用VC开发程序时,在Debug版本的程序中,编译器会向函数栈帧中填充大量的0xCC,用于调试使用。因此,经常我们的程序发生缓冲区溢出时,会看到大量的“烫烫烫…”,这是因为“烫”的编码正是两个0xCC。  在Windows上做开发的程序猿们都知道,x86架构处理器




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: