[调试器的实现<控制台版>] 第一章 程序处理框架
一.CREATE_PROCESS_DEBUG_EVENT处理流程
当创建调试进程时,进入此流程。在程序的入口点下一个INT3断点,作为单独的软中断处理,即这个断点不加入INT3断点列表。
作用是调试程序时,使程序暂停执行于程序入口点。其断点原理参照软中断详细设计。
二.LOAD_DLL_DEBUG_EVENT处理流程
当CREATE_PROCESS_DEBUG_EVENT创建后,进入DLL装载过程,利用此过程可以进行函数名称解析,显示出该装载的DLL文件所有的
导出表函数。
三.EXCEPTION_DEBUG_EVENT处理流程
1.EXCEPTION_ACCESS_VIOLATION响应
此部分用于内存断点的处理,原理是程序运行时触发内存访问异常。
2.EXCEPTION_BREAKPOINT响应
此部分用于程序入口处理,INT3处理, G命令处理
3.EXCEPTION_SINGLE_STEP响应
此部分用于单步进入<T>,单步步过<P>,硬件断点处理,内存断点属性重置,INT3断点
重置,硬件断点重置
附件为: 调试器使用手册 + debug版的程序
程序效果图:
1. 显示各个断点列表
2. 将下断点命令导出文件
3.断点效果图
4.显示DLL中的所有导出函数
附件: