硬件断点
计算机用语
硬件断点是计算机用语,指由硬件提供给我们的调试寄存器组,我们可以对这些硬件寄存器设置相应的值,然后让硬件帮我们断在需要下断点的地址。硬件断点是CPU提供的功能,所以要怎么做就得听CPU的硬件寄存器的了。先来看看关于硬件寄存器的说明。Intel 80386以上的CPU 提供了调试寄存器以用于软件调试。
硬件断点和DRx调试寄存器有关。从Intel CPU体系架构手册中,可以找到DRx调试寄存器的介绍。
DRx调试寄存器总共有8个,从DRx0到DRx7。每个寄存器的特性如下:
·DR0~DR3:调试地址寄存器,保存需要监视的地址,如设置硬件断点;
·DR4~DR5:保留,未公开具体作用;
硬件断点原理是使用4个调试寄存器(DR0,DR1,DR2,DR3)来设定地址,以及DR7设定状态,比如:对这个401000是硬件读还是写,或者是执行;是对字节还是对字,或者是双字。因此最多只能设置4个断点。
OllyDbg支持调试寄存器,其称为硬件断点。设置方法是在指定的代码行单击鼠标右键,执行设置断点、硬件执行命令。
硬件断点优点是速度快,在INT3断点容易被发现的地方,使用硬件断点来代替会有很好的效果,缺点就是最多只能设置4个断点。
参考资料
最新修订时间:2024-05-21 16:42
目录
概述
参考资料