在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选项。我发现有人确实建立了这个选项,但没有任何反应。
答案 0 :(得分:3)
终端的输出暴露了两个问题:
ImportError: No module named importlib
导致Python中不受支持的库。所以安装新版本的Python(大于2.7)就像@Amartel所说的那样。但在我的情况下,gdb需要使用--with-python配置选项重建以使gdb使用更新版本的Python
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.任何人都可以解释一下吗?