GDB No symbol "XXXXX" in current context
来源:互联网 发布:java获取每个月的天数 编辑:程序博客网 时间:2024/06/01 09:20
这几天在把windows下的工程移植到centOS下的时候,发现gcc编译不过,有三点原因:
1、gcc相比VS,对C++标准的遵循更为严格,有些不符合标准的写法在VS下能过,但在gcc下则报错。比如:在头文件中声明类A的成员函数时,gcc下不能带有A::,又如初始化fstream时,gcc下第一个参数必须是const char *,而不能是string等等;
2、由于centOS已有的gcc4.4.7版本太低,一些C++11中的用法不支持;
3、同样由于gcc版本太低,几个开源的项目的静态库无法编译。
第1、2两点还好解决,但对于第三点总不能大改人家的开源项目,所以更新gcc到4.8.1,编译通过,生成了可执行文件。但坑爹的事情发生了,用gdb调试的时候,总是报错No symbol "XXXXX" in current context。
反复检查cmake里面设置了-g选项,说明gcc编译后产生了符号表,但为什么gdb总说找不到符号呢。百度、csdn没有一个答案有用,最后在stackoverflow上找到了原因:gcc升级后,gdb没有升级,新版本gcc产生的符号表低版本的gdb不认识,所以找不到符号。
解决方法有两个:
1、更新gdb;
2、GCC-4.8 defaults to using dwarf4 (gcc.gnu.org/gcc-4.8/changes.html), but GDB is too old to understand that. Build with-gdwarf-2
, it will work!
也就是编译时将-g改为-gdwarf-2
。
参考:http://stackoverflow.com/questions/18407563/gcc-doesnt-produce-line-number-information-even-with-g-option
- GDB No symbol "XXXXX" in current context
- GDB No symbol "XXXXX" in current context
- gdb调试时出现 No symbol "XXXXX" in current context
- GCC升级到4.8之后,gdb调试No symbol "XXXXX" in current context问题
- gdb 调试中No symbol in current context 故障定位
- gdb 调试中No symbol in current context 故障定位
- gdb 调试中No symbol “***” in current context解决方法
- gdb和gcc升级:解决编译和调试时出现gdb no symbol in current context
- gdb调试时No symbol "var" defined in current context && No Register
- No symbol "xxx" in current context
- gdb调试时No symbol "var" defined in current context,局部变量不可查看问题
- gdb调试时No symbol "var" defined in current context,局部变量不可查看问题
- gdb调试时No symbol "var" defined in current context,局部变量不可查看问题
- 用gdb打印变量时显示No symbol "i" in current context
- CentOS下gdb升级(解决No symbol "***" in current context问题)
- gdb 打印变量时出现 "No symbol "i" in current context"
- No symbol "*" in current context的解决办法总结
- nginx调试过程:No symbol "*" in current context
- Redis配置文件各项参数说明
- 复盘携程瘫痪12小时,故障还是隐患
- redis安装与参数说明
- error LNK2019: 无法解析的外部符号 __imp_GetUserObjectInformationW,该符号在函数 OPENSSL_isservice 中被引用
- 第2章 Linux&Unix
- GDB No symbol "XXXXX" in current context
- Android开发: 对象属性的使用
- Java_Socket简单通信
- 【MIG专项测试组】实战分析:内存突增是为神马?
- 稀疏编码(sparescode)中关于矩阵范数求导数--区分2范数和F=2时范数
- 区间树
- MyEclipse安装插件
- 读浅墨博客 十一 笔记
- EEliod嵌入式实验4