问题场景: 简单来说,我们是否有Trace32命令可以从已加载到目标上的ELF文件中读取符号(及其内容)?我们有这种特殊情况,即将ELF文件的应用程序特定调试符号作为“ .noload ”部分的一部分制作,这意味着符号/内容是ELF文件的一部分(使用readelf -a xxxx.elf_file_name读取时可用),但不是最终生成的二进制映像的一部分,即在生成xxx.bin并将其闪存到目标内存时,ELF文件中的“.noload”部分被剥离。
- “.noload”部分中的调试符号是静态分配的值,这些值在运行时不会更改。
- 当我尝试读取编译为二进制文件并加载到Trace32后的“.noload”部分的调试符号时,在Trace32弹出窗口上看到“ MMU fail”的标记,这意味着Trace32正在尝试从内存中读取符号内容,但无法访问,因为“.noload”部分的符号根本没有被加载,尽管它们有映射地址。
任何意见:
- 我需要一个Trace32命令的帮助,可以直接从ELF文件而非目标内存中读取符号内容。
- 如果我们没有上述查询的解决方案,也不确定是否可以在实践脚本中使用“ readelf ”?任何在这个方向上的帮助都可以。