用户名:  密码:   
您当前的位置:首页 > 程序设计 >  Delphi > 

第54讲 下源码,CPU指令,内存,dll等断点的方法及断点窗口详解

上次修改时间: 2024-03-28 10:27:07      来源:网络总结      作者:钢铁长陈
上一页      路径:DSD\Learn\Delphi语言\小甲鱼Delphi\      下一页

第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,点一次开启,再点关闭,关闭断点后断点就变灰色了