我正在研究STM32处理器.使用readelf -w,可以从我的elf文件中提取大量的调试信息.输出的一小部分如下所示:
<1><3faf>: Abbrev Number: 30 (DW_TAG_variable)
<3fb0> DW_AT_name : (indirect string, offset: 0x24e): ITM_RxBuffer
<3fb4> DW_AT_decl_file : 19
<3fb5> DW_AT_decl_line : 1742
<3fb7> DW_AT_type : <0x3f48>
<3fbb> DW_AT_external : 1
<3fbc> DW_AT_declaration : 1
Run Code Online (Sandbox Code Playgroud)
dwarfdump还确认调试信息在elf文件中可用.
我使用以下软件包:Eclipse Juno arm-2011.03/bin/arm-none-eabi-gdb OpenOCD和JTAG密钥
生成elf文件后,将其刻录到STM32处理器中,然后在Eclipse中启动调试会话.JTAG可以启动和停止,所以我猜OpenOCD deamon很好.由于"未加载符号表"这一事实,无法设置断点.一两件事我注意到的是其中"可变/ breakponts /注册/模块"窗口,显示加载的elf文件的模块选项卡包含followiing细节:类型:可执行符号:未加载符号文件:BuildResult.elf
在调试配置 - >启动选项卡中,选中/取消选中"加载图像/加载符号"没有区别.我想知道eclipse如何将elf文件包含符号信息加载到调试过程中?
任何建议,提示,非常感谢.