GDB奇怪的行为 - Linux

时间:2014-08-25 14:16:02

标签: c++ linux debugging gdb

Yeasterday我对archlinux做了很大的更新(两个月后)。我更新了用于开发的GCC,GDB和QtCreator。

gcc -v
gcc version 4.9.1 (GCC) 

gdb -v
GNU gdb (GDB) 7.8

qtcreator -version
Qt Creator 3.2.0 based on Qt 5.3.1

今天我注意到了gdb的奇怪行为。如果我第一次启动调试器(重新启动计算机后),它可以工作。但是在调试器停止后,或者只是调试应用程序停止运行后,它又不会再运行......如果我再次开始调试,它会非常慢(但CPU显示正常负载),启动调试的应用程序需要几分钟再次。在调试完全冻结之后,它必须通过" killall gdb"来杀死。

只有我从GDB获得的输出是:

"warning: GDB: Failed to set controlling terminal: Inappropriate ioctl for device\n"
Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?

我试图在这里搜索,但是这篇文章Could not load shared library symbols for linux-vdso.so.1. while debugging告诉我们#34;无法加载共享库..."没什么特别的。

1 个答案:

答案 0 :(得分:5)

我也在使用archlinux。

gdb -v
GNU gdb (GDB) 7.8

qtcreator -version
Qt Creator 3.2.0 based on Qt 5.3.1`

面对此行为并解决了将gdb降级到版本7.7的问题

是的,你提到的gdb警告与手头的问题无关。

但是没有发现为什么会这样。