Qt Creator无法启动调试器

时间:2015-06-05 08:19:28

标签: python c++ qt debugging

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

开始退役

退役失败

Debuging已经完成

调试器永远不会真正启动。

终端输出:

    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 个答案:

答案 0 :(得分:3)

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

  1. ImportError: No module named importlib导致Python中不受支持的库。所以安装新版本的Python(大于2.7)就像@Amartel所说的那样。但在我的情况下,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下。

  3. 最后,调试器工作正常。

    然而,我没有得到问题的理由2.任何人都可以解释一下吗?