我正在研究 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
dwarfdump 还确认调试信息在 elf 文件中可用。
我正在使用以下软件包:Eclipse Juno arm-2011.03/bin/arm-none-eabi-gdb OpenOCD 和 JTAG 密钥
生成elf文件后,将其烧录到STM32处理器中,并在Eclipse中启动调试会话。JTAG 可以启动和停止,所以我猜 OpenOCD 守护进程很好。由于“未加载符号表”,无法设置断点。我注意到的一件事是在“变量/断点/寄存器/模块”窗口中,显示加载的 elf 文件的模块选项卡包含以下详细信息:类型:可执行符号:未加载符号文件:BuildResult.elf
在调试配置->启动选项卡中,选中/取消选中“加载图像/加载符号”没有区别。我想知道eclipse如何将包含符号信息的elf文件加载到调试过程中?
非常感谢任何建议,提示。