GDB奇怪的行为- Linux

GDB strange behavior - Linux

本文关键字:Linux GDB      更新时间:2023-10-16

昨天我对我的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 devicen"
Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?

我试着在这里搜索,但是这个帖子无法加载linux-vdso.so.1的共享库符号。虽然调试告诉"无法加载共享库…"没什么特别的。

我也在用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警告与手头的问题无关。

但不知道为什么会这样