5

我正在研究 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文件加载到调试过程中?

非常感谢任何建议,提示。

4

0 回答 0