3

我正在使用 Eclipse CDT 进行一些嵌入式开发,但我很难让源代码级调试适用于静态库。

我正在使用自己的 Makefile,所以这是我现在的第一个嫌疑人,特别是因为 gdb 声称没有符号表信息可用于没有源的函数。使用静态库时,来自库的调试信息通常包含在最终链接阶段的 ELF 文件中吗?现在,如果我将 objdump -S 指向 .a 文件,我可以看到完整的源代码/程序集组合,但没有任何调试信息进入 .elf。主应用程序存在调试信息/源。我错过了一些开关来告诉 ld 包括这个吗?

否则,让 gdb 告诉我正在寻找(并且未能找到)关于特定功能的调试信息的最佳方法是什么。

4

2 回答 2

3

弄清楚了。

教训很简单:总是,总是,三重检查你的makefile。仍然链接在没有调试信息的静态库的旧副本中。

于 2009-10-20T05:02:14.953 回答
0

我猜想 GDB 根本就没有找到与该调试信息一起使用的源文件。有关如何告诉它在哪里找到源文件的文档,请参阅http://web.mit.edu/gnu/doc/html/gdb_9.html#SEC51 。

于 2009-10-20T04:10:46.097 回答