在 RedHat Linux 上构建了一个共享对象,当所有代码都使用调试编译时,调试器 (gdb) 拒绝加载符号并发出错误,如下所示:
...
GNU gdb Fedora (6.8-37.el5)
...
This GDB was configured as "x86_64-redhat-linux-gnu"...
Dwarf Error: wrong version in compilation unit header (is 4, should be 2) [in module libgrokf.so]
有了这个错误,我无法在任何函数中触发断点,也无法看到正确的堆栈跟踪。我重新编译了整个项目,但没有任何帮助。我确实知道过去一段时间调试该模块没有问题。
是什么导致了这个问题?