软件调试笔记6

来源:互联网 发布:win7端口查看 编辑:程序博客网 时间:2024/05/13 16:55

重点介绍下读写域的使用方式。




硬件断点的设置方法

用户态的调试器如何设置硬件断点呢?答案是通过线程的上下文context数据来间接访问调试寄存器。CONTEXT结构用来保存线程的执行状态,在多任务系统中,操作系统通过让多个任务轮换运行来使多个程序同时运行。当一个线程被挂起,包括通用寄存器在内的线程上下文信息会被保存起来,当该线程恢复执行时,保存的内容又会被恢复到寄存器中。用户态调试器可以用SetThreadContext API来设置调试寄存器的函数调用过程。


硬件断点的优缺点

优点是不需要向代码中插入软件指令,缺点是数量限制,只有4个断点地址寄存器,另外是与CPU相关的,针对一个CPU的断点不一定适合其他的CPU。



原创粉丝点击