无法让Qt找到调试助手

时间:2011-12-05 04:49:24

标签: debugging qt gdb qt-creator

这是this thread的后续行动 - 遗憾的是我当时没有取得任何进展,所以我想我会重新开始。我一直在调试日志中得到这个(QtCreator 2.3.1,Qt 4.7.3,gdb 7.2):

  

表达式中的语法错误,靠近0'.\n" 295^error,msg="A syntax error in expression, near 0'。“   &“此GDB副本不支持Python脚本。\ n”   296 ^ error,msg =“此GDB副本不支持Python脚本。”   &“此GDB副本不支持Python脚本。\ n”   297 ^ error,msg =“此GDB副本不支持Python脚本。”   &“此GDB副本不支持Python脚本。\ n”   298 ^ error,msg =“此GDB副本不支持Python脚本。”   &“未定义的命令:\”bbsetup \“。尝试\”help \“。\ n”   299 ^ error,msg =“未定义的命令:\”bbsetup \“。尝试\”help \“。”   d未找到调试助手库。   &“source /home/matt/QtSDK-4.7.3/pythongdb/gdb\n”   &“/ home / matt / QtSDK-4.7.3 / pythongdb / gdb:1:源命令文件中出错:\ n”   &“未定义的命令:\”\“。尝试\”help \“。\ n”   300 ^ error,msg =“/ home / matt / QtSDK-4.7.3 / pythongdb / gdb:1:源命令文件出错:\ n未定义命令:\”\“。尝试”帮助“。”   &“未定义的命令:\”bbsetup \“。尝试\”help \“。\ n”   301 ^ error,msg =“未定义的命令:\”bbsetup \“。尝试\”help \“。”   d未找到调试助手库。   302 ^ DONE   < 303set substitute-path / var / tmp / qt-src / usr / include

具体问题是没有调试助手,我在调试过程中无法看到QStrings和许多其他数据结构的内容,这使得它更加耗时。上面的错误消息是有症状的,当gdb找不到调试助手时会出现问题。

无论如何,看看上面帖子中答案中引用的讨论,我在我的系统上寻找不同版本的gdb,但是每一个都产生了相同的错误(路径当然改变了路径),包括版本7.3.1我下载的时候。我也找到了libDebuggingHelper.so,但是把它放在不同的地方也没有帮助。最后看了./configure --help for gdb,我没有看到任何在构建中启用/禁用python的选项。谁知道我怎么能让这个工作?

3 个答案:

答案 0 :(得分:2)

This site声称您需要使用

配置GDB
./configure --with-python

答案 1 :(得分:1)

从错误消息中可以清楚地看出,您构建的GDB没有编译python支持。

gdb/config.log中查找checking whether to use python等消息,了解为什么GDB决定不在您的系统上使用Python。

也许您需要安装Python开发包?

一旦你配置GDB使用Python,检查Python支持是否正确编译的简单方法是:

(gdb) python print "hello"

如果打印除hello以外的任何内容,您仍然不在您想要的位置。

答案 2 :(得分:0)

我用

解决了这个问题
sudo apt-get install gdb-multiarch

感谢@ Employed-Russian允许我检查GDB是否确实有python支持。

我必须使用语法

(gdb) python print("Hello")

在GDB中从python获得正确的响应。