📄 13 调试工具axd应用.txt
字号:
第13章 调试工具AXD应用
13.1 寄存器
Processor Views , Registers
13.1.1 寄存器的使用方法
1. 观察寄存器
寄存器窗口的8个选项,前七种对应七种工作模式
Debug Comms 调试通信通道寄存器组,包括控制,读状态和写状态寄存器.
调试中,值发生变化的寄存器值将变红色.
2. 修改寄存器
可输入十进制,或0x开头的十六进制.回车后生效.
3. 程序计数器 R15
双击可修改值.窗口中"Retain Current",不改变当前使用的数据栈指针."User define" 修改.
4. 程序状态寄存器 CPSR
双击,不可随意修改.
13.1.2 寄存器视窗中的级联菜单
1. Add to System 把某个寄存器添加到系统视窗中.
2. Add Register 添加寄存器
3. Format 数据显示格式
4. Locate Using Value 查找寄存器中值对应的地址.找到由该地址定位的存储器.
5. Refresh 刷新
6. Properties 改变默认数据显示格式
13.2 存储器
Processor Views , Memory
13.2.1 存储器的使用方法
1. 观察存储器
Memory Locate Start address 指定观察区域的起始地址
四个数据表可以定义不同的起始地址.每个视窗显示的字节数可以从16B到4096B,可以通过 Properties设定.
调试程序时,变化的存储器颜色会变化.
一定要注意大端,小端设定.可以通过 Properties设定.
2. 修改某存储器
双击修改
3. 保存存储器中的数据
File,Save Memory To File
4. 加载存储器数据
File,Load Memory From File
13.2.2 存储器视窗中的级联菜单
1. Size 窗口每个单元显示的位数
2. Format 数据格式
3. Locate Using Value 查找存储器使用值.(以选中存储器中值为地址查找)
4. Copy Memory 复制
5. Fill Memory 填充存储区,使用指定数据大面积填充存储区
6. Search Memory 查找数据
7. Toggle Breakpoint 设置,取消断点(对程序存储区)
8. Toggle Watchpoint 设置,取消观测点
9. Copy 鼠标选中,再复制
10. Refresh 刷新显示
11. Refresh (for nonstop debugging) 在不停止调试的情况下刷新存储器
12. Properties 外部属性
Apply to all 把在当前存储器窗口中所做的改动应用到所有的数据表中
Display 设置调试器中存储器字节顺序
Target 显示目标存储器的字节顺序.
目标存储器的字节顺序可能由硬件指定,调试器中存储器可以由调试者指定.
13. Automatic refre 系统在执行中止时自动刷新存储器中的数据
14. Show offset from start 不选该项,存储器中的地址是绝对地址.
选择该项,以 Memory Locate Start address 指定的为基址.
15. Page Size 定义存储器页字节数,16-4096B之间
16. Size Display 定义视窗中每个单元显示的位数,8,16,32.
17. Size Targe Access 访问目标时数据总线的宽度.
13.2.3 调试用户程序应用举例
13.3 在调试中使用断点
System Views , Breakpoint
13.3.1 断点使用方法
1. 设置断点 Toggle Breakpoint
2. 断点管理视窗
Position 断点地址及所在文件
Condition 条件,无条件
Action 断点的两种响应方式: Break,使运行程序中断; Log Text 为运行程序作提示
3. 设置条件断点
右键, Add.指定源程序行号,或指定地址设定.
Condition 条件
out 第多少次执行到断点时,则触发中断.
when 可设置复杂的条件
Enabled 打开,或关闭断点
Hardware 不可设置,表明这是硬件断点,在软件断点中不使用
Size 指定断点是在ARM中还是在Thumb中.
Break 默认,执行到此停止
Log Text 执行到此后,在Debug log(System View,Output,Debug log)中显示输入的字符串
4. 执行到断点处
5. 查找和修改断点 System Views , Breakpoint
6. 观察断点
7. 删除断点
13.3.2 断点管理级联菜单
Add 设置条件断点
Disable 关闭选中
Delete 删除选中
Delete All 删除全部
Locate Using Address 查找断点所在指令行的位置
Refresh 刷新
Properties 打开断点输入对话框,可以观察员和修改断点
13.4 观测项和观测点
13.4.1 使用观测项(Watch)
1. 观测项一般介绍
系统观测项 System Views , Watch
处理器观测项 Processor Views , Watch
使用观测项可以在调试程序时动态地了解所关心的某些信息,这些信息取决于所设置的观测项的表达式.
如: R0+R3, Value*0x20
2. 观测项管理视窗
3. 观测项管理级联菜单
Add to System watch 把处理器中选定的观测项添加到系统观测项中,也成为系统观测项
Add watch 设置观测项
Format 数据格式
Locate Using Value 查找观测项使用的值
Locate Using Address 查找观测项使用的地址
Array Expansion 把一组指定的符号扩展为一列s
Refresh 刷新
Refresh (for nonstop debugging) 在不停止调试的情况下刷新
Properties 设置默认显示格式
4. 设置观测项
1. 级联菜单,右键 Add Watch
Expression 表达式
View Proc,System 加为处理器观测项,或系统观测项
Tab 加入哪个表
2. 在源程序窗口中设置
Add to Watch 直接添加到观测项视窗中
Watch 可设置详细项(上面的)
5. 修改观测项 双击修改
6. 删除观测项
13.4.2 使用观测点(Watchpoint)
Processor Views , Watchpoint
观测点与观测项之不同
观测项是在检查一个表达式的值,要对表达式进行计算,而观测点不对表达式进行计算
不会使程序停止
与断点一样,可以设置实现条件.观测项没有.
1. 观测点管理视窗
State 状态,圆点,打开; 圆环,关闭
Processor 目标处理器的名称
Item 观测点的地址或名称
Watching 观测点的地址
Count 观测点被满足的次数
Condition 条件观测点
Action 中止(Break),或显示Log
2. 观测点管理级联菜单 (同观测项)
Add
Disable
Delete
Delete All
Locate Using Address
Refresh
Properties
3. 设置条件观测点
Add.
Processor
Item 观测点名称,可以是变量名,寄存器或地址
Watching 使用 Properties 检查已经存在的观测点时,才有内容,一般显示地址或寄存器名.
Value 观测点等于该值时,Count加1.
Out 循环次数
When 条件表达式
Enabled 允许,禁止.
Hardware 硬件观测点
H/W res 与硬件有关
Force Size 控制被观测的存储器的字节数
Action 中止(Break),或显示Log
4. 设置无条件观测点
1. 在源程序中设置
Set Watchpoint
2. 在存储器中设置
Toggle Watchpoint
4. 删除观测点
13.5 其他调试方法
13.5.1 调试时观察程序变量
1. 变量管理视窗
Processor Views , Variable
2. 变量管理级联菜单
Add to Processor Watch 设置为处理器观测项
Add to System Watch 设置为系统观测项
Format 格式
Locate Using Value 查找变量使用值,把变量显示的值作为地址使用
Locate Using Address 查找变量使用的地址,把存储变量的地址作为地址
13.5.2 在调试程序时使用符号表
Processor Views , Low Level Symbols
1. 符号表管理视窗
检查当前映像文件中所有的代码级符号.名称与地址
2. 符号管理级联菜单
Locate Source 在源程序中查找符号
Locate Disassembly 在反汇编代码中查找符号
Loccate Using Address 查找符号映像地址
Sort by Symbol 符号分类选项,字母或地址排序
Toggle Breakpoint 断点操作
13.6 Profiling功能
Profiling可以按照指定的时间间隔采样程序计数器,采样结果用来生成一个百分比图形.描述执行每段程序所花费的时间.
目标是 EmbeddedICE,Multi-ICE则不支持该项.
有两种Profiling方式可以供选择:
Flat Profiling 不改变映像文件,但只能积累有限的信息
Call graph profiling 信息更详细,但会加代码到映像文件
1. 加载文件 (两种方法)
A. Load Image, Profiling, Interval 采样时间间隔,微秒为单位.
B. File下拉菜单. Load Debug Symbols,在加载文件窗口设置
2. 关于Profiling操作命令
Open, Options,Profiling 下拉列表
Toggle Profiling 启动Profiling
Clear Collected 清除已有Profiling信息
Write to file 存储已经采集信息到文件.
3. 开始Profiling功能并执行程序
只有连续运行一段程序才有意义.
4. 存储Profiling文件
5. 观察Profiling文件信息'
2007-7-25 0:03
end of this book
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -