4断点和单步执行
摘要:
4.12在调试器中设置断点当我们在调试器中设置断点,调试器会先把这里的本来指令的第一个字节保存起来,然后写入int3指令,4.13断点命中对于window这种保护模式下的多任务操作系统,INT3异常的处理函数是操作系统的内核函数(KiTrap03),因此执行INT3会导致CPU执行nt!kitrap03函数,KiTrap03对X86 CPU的断点异常会有一个特殊的处理,会将程序指针寄存器的值减1出于上面的原因,我们在调试器中看到的程序指针指向的仍是INT3指令的位置,而不是它的下一条指令,这下做目的有以下两点:1.调试器在使用INT3断点时,总是只替换一个字节,因此,如果程序指针指向下一个指令 阅读全文
posted @ 2013-02-16 17:36 hgy413 阅读(338) 评论(0) 推荐(0) 编辑