[调试器的实现<控制台版>] 第一章 程序处理框架

一.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. 显示各个断点列表

名称:  bp.jpg
查看次数: 1705
文件大小:  53.2 KB

2. 将下断点命令导出文件
名称:  ept.jpg
查看次数: 1706
文件大小:  54.6 KB
3.断点效果图
名称:  bpmr.jpg
查看次数: 1706
文件大小:  84.0 KB
4.显示DLL中的所有导出函数
名称:  fun.jpg
查看次数: 1707
文件大小:  109.7 KB

 

附件:

调试器的实现<控制台版>

posted @ 2015-05-10 11:44  银河彼岸  阅读(392)  评论(0编辑  收藏  举报