zoukankan      html  css  js  c++  java
  • 用GDB调试pgAdmin3

    试着调试pgAdmin3,却发现有一些问题。

    如果按下面步骤编译和调试pgAdmin3,会报错:

    ./configure --enable-debug

    make

    gdb pgadmin/pgadmin3

    错误信息为:

    Dwarf Error: wrong version in compilation unit header (is 0, should be 2,3,4)

    上网搜了一下,不是GDB的问题,问题出在GCC的编译选项上。

    查了一下gcc手册,发现,如果编译时只使用参数-g,那么默认使用本地的调试信息格式,默认等级是2.

    现在的错误说明,GDB期待Dwarf调试信息格式,但gcc -g默认给出的并非Dwarf格式的调试信息。

    那么我们明确告诉gcc使用Dwarf格式调试信息就行了,DWARF有4个版本,新版的GDB已经支持到DWARF4,建议使用最新的。

    打开pgadmin3下的configure文件,将下面的-g改为-gdwarf-4:

    2583   if test "$GCC" = yes; then
    2584     CFLAGS="-gdwarf-4 -O2"
    2585   else
    2586     CFLAGS="-gdwarf-4"
    3264   if test "$GXX" = yes; then
    3265     CXXFLAGS="-gdwarf-4 -O2"
    3266   else
    3267     CXXFLAGS="-gdwarf-4"
    3268   fi

    重新congfigure和make后,就可以顺利gdb调试了。

  • 相关阅读:
    成长篇之代码灵异事件
    idea快捷键
    java环境配置常用链接
    MySQL分区
    English 动词篇
    仿stl+函数模板
    java 数组复制
    拓扑排序(Topological Sorting)
    2017蓝桥杯第十题(k倍区间)
    翻译NYOJ
  • 原文地址:https://www.cnblogs.com/sirlipeng/p/5129293.html
Copyright © 2011-2022 走看看