当前位置:网站首页>TRACE32——加载符号表信息用于调试
TRACE32——加载符号表信息用于调试
2022-08-05 06:42:00 【Rainmicro】
TRACE32——加载符号表信息用于调试
劳特巴赫TRACE32可以显示目标芯片上运行的源码,并且可以通过相应的按钮和命令在C源码和汇编码之间切换。
但有的时候,连上目标芯片后,并不需要重新烧写代码,只需要调试板子上已有的代码就行,这时候就需要从ELF等文件中,加载调试信息(符号表信息),才能实现上面提到的源码显示功能。
调试信息(Debug Infomation)或者 符号表信息(Symbol),一般会被编译器生成到最终的可执行程序中,例如ELF文件,这时TRACE32便可以使用如下命令进行加载
Data.load.elf * /Nocode
其中最重要的一个参数:
/Nocode
表示这条命令,不加载ELF文件里的代码,只加载符号表信息。
另外,Data.load.elf 表示加载ELF文件,如果有其他格式的文件,可以用
Data.load * /Nocode
或者
Data.load.auto * /Nocode
其中*号表示弹出对话框,选择文件。如果需要,也可以直接指定文件路径
Data.load.auto D:\app.elf /Nocode
看一下效果:
未加载符号表:
加载符号表后:
重要信息
请查阅编译器手册来正确配置,确保ELF包含有调试信息
请确保命令中选择的ELF文件和当前芯片运行的程序完全一致,否则会出现函数或者变量显示错误的问题
当心PC指针被改写
**有些时候,编译生成的可执行程序中的符号表信息,还包含有程序入口地址。**直接加载这样的文件,会导致调试器把当前正常运行的PC指针改写。
如果不希望这样,可以通过/Noreg参数来去除符号表信息中的寄存器信息:
Data.load.auto * /Nocode /Noreg
多个ELF的符号表信息
如果需要加载多个ELF文件,默认情况,前一个ELF的符号表信息会被后一个ELF的符号表信息覆盖。
如果不希望这样,可以通过/Noclear参数来保留多个符号表信息
Data.load D:\boot.elf /Nocode
Data.load D:\app1.elf /Nocode /Noclear
Data.load D:\app2.elf /Nocode /Noclear
源码路径关联
有些时候,即使加载了符号表信息,还是没能正常显示C源码:
这种情况,只需要调整C源码的关联路径即可。
更多关于Data.load命令的使用方法和参数介绍,请查阅相关文档:
- <T32安装目录>\pdf\general_ref_d.pdf\Data章节
- https://www2.lauterbach.com/pdf/general_ref_d.pdf\Data章节
边栏推荐
- 数据库多表关联插入数据
- IO process thread -> communication between processes -> day7
- 一天学会从抓包到接口测试,通过智慧物业项目深度解析
- 日本卫生设备行业协会:日本温水喷淋马桶座出货量达1亿套
- [上海]招聘.Net高级软件工程师&BI数据仓库工程师(急)
- 不太会讲爱,其实已经偷偷幸福很久啦----我们的故事
- RK3568环境安装
- AI + video technology helps to ensure campus security, how to build a campus intelligent security platform?
- Shiny02---Shiny异常解决
- RNote108---显示R程序的运行进度
猜你喜欢
3555. 二叉树
FPGA解析B码----连载4
Mysql为什么 建立数据库失败
MySQL:连接查询 | 内连接,外连接
(四)旋转物体检测数据roLabelImg转DOTA格式
2022熔化焊接与热切割操作证考试题及模拟考试
女生做软件测试会不会成为一个趋势?
After working for 3 years, I recalled the comparison between the past and the present when I first started, and joked about my testing career
合工大苍穹战队视觉组培训Day9——相机标定
MySQL: JDBC programming
随机推荐
It turns out that Maya Arnold can also render high-quality works!Awesome Tips
【工具配置篇】VSCode 常用使用总结
17-VMware Horizon 2203 虚拟桌面-Win10 手动桌面池浮动(十七)
MAYA大炮建模
UDP broadcast
Vulnhub靶机:HA_ NARAK
武田公司2022财年第一季度业绩强劲;正稳步实现全年的管理层指引目标
Using printf function in STM32
Rapid Medical's Ultra-Small and Only Adjustable Thromb Retriever Receives FDA Clearance
自媒体人一般会从哪里找素材呢?
铠侠携手Aerospike提升数据库应用性能
基于KECA-IGWO-KELM的间歇过程故障诊断方法
Mysql master-slave delay reasons and solutions
3555. 二叉树
typescript63-索引签名类型
2022起重机司机(限桥式起重机)考试题库及模拟考试
RNote108---显示R程序的运行进度
Rapid Medical超小体积且唯一可调的取栓器获得FDA核准
Shared memory + inotify mechanism to achieve multi-process low-latency data sharing
TCP sticky packet unpacking problem + solution