Chr*_*Xia 5 eclipse gdb stm32 symbol-table
我正在研究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文件包含符号信息加载到调试过程中?
任何建议,提示,非常感谢.
小智 0
这主要是由于您的程序未使用调试信息进行编译所致。为了解决这个问题,
-ggdb用于 gdb 调试。此外,很高兴知道
-g以本机格式(stabs、COFF、XCOFF 或 DWARF 2)生成调试信息。
-ggdb生成 gdb 友好的调试信息
-ggdb3产生额外的调试信息
| 归档时间: |
|
| 查看次数: |
1194 次 |
| 最近记录: |