直到计算机行业有了比较突出的发展之后,商业化的软件调试器才与计算机程序编写工作人员们见面。作为
软件维护与错误修正的一个最重要、最直接,也是必不可少的一种机制,
中央处理器制造商也在不厌其烦地在CPU
物理结构上支持着调试这种行为。
调试器的工作原理是基于
中央处理器的异常机制,并由操作系统的异常分发\u4e8b件分发的子系统(或模块)负责将其封装处理后,以比较友好的方式与调试器进行实时交互。
每当调试器捕获到一个异常\u4e8b件之后,将会根据调试器的自身逻辑来判定是否需要接管这个异常\u4e8b件,并决定由调试器的哪个函数来接管。当调试器接管下来这个异常\u4e8b件后,将根据用户的需求对其进行进一步的处理,处理完毕后再通知系统已经处理完毕,此时新一轮的异常\u4e8b件捕获、分发循环开始。
调试器的最基本功能就是将一个飞速运行的程序中断下来,并且使其按照用户的意愿执行。调试器是靠迫使
目标程序触发一个精心构造的异常来完成这些工作的。
查看软件的当前信息,这些信息包含但不限于当前线程的寄存器信息,
堆栈信息、内存信息、当前EIP附近的
反汇编信息等。