当前位置:网站首页>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章节
边栏推荐
- PCI Pharma Services Announces Multi-Million Dollar Expansion of UK Manufacturing Facility to Meet Growing Demand for Global High Potency Drug Manufacturing Services to Support Oncology Treatment
- Summary of Text Characterization Methods
- typescript68-索引查询类型(查询多个)
- IO process thread -> communication between processes -> day7
- TRACE32——SMP多核调试
- MySQL: JDBC programming
- Promise (三) async/await
- protobuf根据有关联的.proto文件进行编译
- After the firewall iptable rule is enabled, the system network becomes slow
- Takeda Fiscal 2022 First Quarter Results Strong; On Track to Achieve Full-Year Management Guidance
猜你喜欢

Source code analysis of Nacos configuration service (full)

任务流调度工具AirFlow,,220804,,

Shiny04---Application of DT and progress bar in shiny

合工大苍穹战队视觉组培训Day9——相机标定

线程池的使用(结合Future/Callable使用)

typescript63-索引签名类型

给网站套上Cloudflare(以腾讯云为例)

Put Cloudflare on the website (take Tencent Cloud as an example)

typescript60-泛型工具类型(readonly)

UDP broadcast
随机推荐
Libpq 是否支持读写分离配置
AH8669-AC380/VAC220V转降5V12V24V500MA内电源芯片IC方案
Rapid Medical超小体积且唯一可调的取栓器获得FDA核准
共享内存+inotify机制实现多进程低延迟数据共享
Flink学习12:DataStreaming API
Redis
ndk编译so库
原来使Maya Arnold也能渲染出高质量作品!超赞小技巧
【LeetCode】235.二叉搜索树的最近公共祖先
2022.8.2 模拟赛
性能提升400倍丨外汇掉期估值计算优化案例
2022杭电多校六 1007-Shinobu loves trip(同余方程)
LaTeX Notes
线程池的使用(结合Future/Callable使用)
AI+视频技术助力保障校园安全,校园智能安防平台该如何建设?
Flink Learning 11: Flink Program Parallelism
Week 8 Document Clustering(文本聚类)
技术分析模式(七)发挥差距
AI + video technology helps to ensure campus security, how to build a campus intelligent security platform?
Mysql主从延迟的原因和解决方案