如何修改DWARF版本的G ++编译调试信息

时间:2016-03-10 09:57:04

标签: linux gcc gdb g++ core

我正在使用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 ++版本:g++ (GCC) 4.1.1 20070105 (Red Hat 4.1.1-52)
  • gdb版本: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中所述),但仍然没有改进。

  • 1 个答案:

    答案 0 :(得分:0)

    与此同时,我通过更新我的GDB(及相关)流程解决了这个问题。