Ubuntu上的C++应用程序.安装gcc 4.8.1后,gdb不起作用

vin*_*ata 9 gcc gdb

我在Ubuntu 12.04上安装了gcc 4.8.1(我必须添加ppa才能这样做)现在gdb显示以下消息:

无法找到动态链接器断点功能.GDB将无法调试共享库初始化程序并跟踪显式加载的动态代码.无法加载5个库的共享库符号,例如/usr/lib/x86_64-linux-gnu/libstdc++.so.6.使用"info sharedlibrary"命令查看完整列表.你需要"set solib-search-path"或"set sysroot"吗?

我做谷歌,我发现这篇文章最能回答我的问题:http: //www.fayewilliams.com/2013/01/31/gdb-unable-to-find-dynamic-linker-breakpoint-function/

但是我仍然不明白该怎么做.有人可以帮忙吗 谢谢!

pip*_*azo 13

我也有同样的问题,并能够解决它.

我从这个PPA(https://launchpad.net/~ubuntu-toolchain-r/+archive/test)安装了最后一个"稳定"版本的GCC(4.8.1 ),一切都很完美,直到我不得不处理调试问题.您可以注意到,在此PPA中,工具链未提供用于处理编译器升级的GDB的更新版本.事实上,我没有发现任何PPA提供更新版本的GDB.

在我的情况下,我解决了这种情况从其网站(http://www.sourceware.org/gdb/)下载并安装最新稳定版本的GDB(7.6 ).这个版本的GDB能够解析这些符号,并为我提供使用Gcc 4.8.1生成的二进制文件的所有必要信息,即使我使用新的c ++ 11标准(使用-std = c ++编译的代码) 11旗).

考虑到手动安装这个新版本的GDB将默认安装/ usr/local/bin/gdb中的二进制文件.