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

问题描述 投票:0回答:1

我正在使用 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中提到的),但仍然没有改善。

  • linux gcc gdb g++ core
    1个回答
    0
    投票

    同时,我通过更新 GDB(和相关)流程解决了问题。

    © www.soinside.com 2019 - 2024. All rights reserved.