我正在使用g ++编译库,使用以下参数:
g++ -gdwarf-2 -std=c++0x -m32 -Dunix=1 -Dlinux=1 -D_JAVA=1 -DNDEBUG=1 -I...
虽然我使用的是特定的DWARF版本2,但对我的核心文件的调查仍然会给出以下错误消息:
Dwarf Error: wrong version in compilation unit header (is 4, should be 2)
有人知道我能做什么吗?
我正在使用以下版本:
CentOS 5.2
g++ (GCC) 4.1.1 20070105 (Red Hat 4.1.1-52)
GNU gdb Red Hat Linux (6.5-37.el5rh)
无法更新平台。
为了您的信息:同时我找到了这个URL(http://www.delorie.com/gnu/docs/gdb/gdb_17.html),这解释了有时将调试信息与优化标志混合起来可能是一个坏主意。 结果,我删除了优化标志(尽管它是“-O0”,我使用了“g ++ -gdwarf-2 -g3”(如URL中所述),但仍然没有改进。
答案 0 :(得分:0)
与此同时,我通过更新我的GDB(及相关)流程解决了这个问题。