

第54讲 下源码,CPU指令,内存,dll等断点的方法及断点窗口详解
1. 下断点的4种方法
1)F5下断点,
2)在要下断点的行前双击
3)要下断点的行右击--debug--Toggle BreakPoint
4)菜单栏Run--Add Breakpoint--Source Breakpoint
2. 源码断点窗口详解
1)Filename为下断点的pas文件,
2)Line number为下断点的行号,
3)condition 为条件,如输入:i=5; //只有当i=5才会断下。
4)Pass Count为该行为执行多少次后断下
5)Group为分组,就是给这个断点设一个分组,移动鼠标到断点上可查看该断点属于那个分组
a.断点分组,断点分组后可以按组开启和关闭断点
b.分组方法:Run--Add Breakpoint--Source Breakpoint, 在那个Group里输入组名,如:A
c.按组开启断点,开启后这个组的断点才会生效,方法:Run--Add Breakpoint--Source Breakpoint,点高级,在最下面有个Enable group,在这里选择要开启的组
d.按组关闭断点,关闭后这个组的断点不生效。方法:Run--Add Breakpoint--Source Breakpoint,点高级,在最下面有个Disnable group,在这里选择要开启的组
3. 机器指令(CPU)断点,就是汇编指令断点
1). 点击View--Debug Windows--CPU或按C+A+C即可进入调试窗口
2). 在要断点的行前单击或Run--Add Breakpoint--Address Breakpoint。注:要先打开CPU调试窗口
a. Address为地址,即CPU窗口最前面那列,以$开头,如:$54d1e8
b. Condition为条件, 可以设Eax等多少,或Edx等多少
c. 其它属性见源码断点窗口详解
//*****注:CPU窗口右上为寄存器值,左下为内存值,右下窗口为栈数据
4. 数据(内存)断点,功能类似OD,监视内存的某个地址,当该地址数据被改了就会断下
//要先把程序执行起来
1)添加断点方法:Run--Add Breakpoint--Data Breakpoint
a. Address,这里的地址为内存地址,同CPU指令断点以$开头,如:$54d1e8
b. Length: 指定监测的长度,不字节为单位,如:4
b. Condition为条件, 可以设Eax等多少,或Edx等多少
c. 其它属性见源码断点窗口详解
4. 模块(dll调用)断点
1)下断点:Run--Add Breakpoint--Module Load Breakpoint,点浏览,选择一个dll,当这个dll被调用时会自动断在dll的入口处
6. 断点时的行为,Run--Add Breakpoint--Source Breakpoint,再点Advanced<<
1)勾选 Igonore subsequent exceptions //忽略当前进程所触发的异常,调试器遇到异常不中止
2)勾选 Handle subsequent exceptions 当遇异常断点断下时进行一个写日志的操作
a. Log message //注系统的日志写的消息名
b. Eval expression //往系统的日志写的消息内容
7. 断点列表窗口
1)C+A+B或View--Debug Windows--Breakpoint, 断点列表窗口
2)删除断点,C+D
3)关闭断点,断点窗口右击——Enable,点一次开启,再点关闭,关闭断点后断点就变灰色了