【问题标题】:GDB strange behavior - LinuxGDB 奇怪的行为 - Linux
【发布时间】:2014-08-25 14:16:02
【问题描述】:

昨天我对我的 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 告诉我们“无法加载共享库...”并没有什么特别之处。

【问题讨论】:

    标签: c++ linux debugging gdb


    【解决方案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 警告与手头的问题无关。

    但是没有找到为什么会这样。

    【讨论】:

    • 升级后修复,可能是GDB的bug
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-09
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多