Qt创建器启动调试器失败

Qt Creator failed to start Debugger

本文关键字:调试器 失败 启动 创建 Qt      更新时间:2023-10-16

Qt c++项目在Qt Creator 3.4.1下成功构建。但是当我无法启动调试器时。输出:

调试开始

调试失败

调试完成

调试器从未真正启动。

终端输出:

    QProcess: Destroyed while process ("/usr/local/bin/gdb") is still running.
Unexpected GDB stderr: "Python Exception <type 'exceptions.ImportError'> No module named gdb: 
/usr/local/bin/gdb: warning: 
Could not load the Python gdb module from `/usr/local/share/gdb/python'.
Limited Python support is available from the _gdb module.
Suggest passing --data-directory=/path/to/gdb/data-directory.
"
Warning: HANDLE RUNCONTROL START FAILED (no active run control)
Warning: State changed from EngineSetupFailed(2) to DebuggerFinished(23) [master] (no active run control)
Warning: (gdb)  (no active run control)
Warning: 48^done (no active run control)
Warning: (gdb)  (no active run control)
Warning: UNEXPECTED GDB STDERR: Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/opt/Qt5.4.2/Tools/QtCreator/share/qtcreator/debugger/gdbbridge.py", line 20, in <module>
    from dumper import *
  File "/opt/Qt5.4.2/Tools/QtCreator/share/qtcreator/debugger/dumper.py", line 37, in <module>
    import importlib
ImportError: No module named importlib
Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'theDumper' is not defined
 (no active run control)
Unexpected GDB stderr: "Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/opt/Qt5.4.2/Tools/QtCreator/share/qtcreator/debugger/gdbbridge.py", line 20, in <module>
    from dumper import *
  File "/opt/Qt5.4.2/Tools/QtCreator/share/qtcreator/debugger/dumper.py", line 37, in <module>
    import importlib
ImportError: No module named importlib
Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'theDumper' is not defined
"
Warning: QUIT DEBUGGER REQUESTED IN STATE 23 (no active run control)

更多信息:

gcc used by qt creator : version 5.0.1
gdb used by qt creator : version 7.9
python 2.6.6 installed on my CentOS 6.5 ,and is in PATH .

当我安装gdb的源代码时,我没有附加——with-python选项。我在谷歌上搜索了一下,有人确实使用了这个选项,但没有任何结果。

终端的输出暴露了两个问题:

  1. ImportError: No module named importlib导致Python中不支持的库。所以就像@Amartel说的那样,安装新版本的Python(大于2.7)。但是在我的情况下,gdb需要用——with- Python配置选项重建,使gdb使用新版本的Python

  2. Python Exception <type 'exceptions.ImportError'> No module named gdb: /usr/local/bin/gdb'可通过拷贝gdb_src_dir/gdb/data-directory/python/gdb目录下的文件到/usr/local/share/gdb来解决。注意:我的gdb安装在/usr/local/bin下。

最后,调试器工作正常。

然而,我没有得到问题2的原因。有人能解释吗?