使用Qt Creator调试Qt应用程序:<no such value>

8

我在Ubuntu 12.04中使用Qt 5.1.1和Qt Creator。当我使用调试器显示任何变量的内容时,窗口总是显示每个变量的“无此值”。甚至对于类型为QStringint等的变量也是如此。这是我的Ubuntu上的配置问题吗?有人可以帮帮我吗?


我不理解这个问题。是否有一些文本或代码丢失了?为什么标题与问题文本不同? - Simon Warta
我修改了描述。 - user2764107
在Qt Creator中启动新的示例项目时,您是否遇到了相同的问题?您能否提供任何代码以显示问题发生的位置? - Simon Warta
是的,这个问题也存在于新项目中。我写了一个带有QString的简单main函数,但调试器只显示“没有这样的值”作为内容。 - user2764107
我有同样的问题。你找到解决方法了吗? - Dave Thomas
1个回答

3

虽然已经过去了一年半,但Ubuntu 12.04和基于Qt 5.4.1的Qt Creator 3.4.0仍存在问题。

Qt Creator手册所述:

从版本3.1开始,Qt Creator需要Python脚本扩展。不再支持不带Python脚本的GDB版本,并且不会工作。最小支持版本是使用Python版本2.7、3.3或更新版本的GDB 7.5

我认为gdb --version会给你7.4(Ubuntu 12.04的最后一个gdb版本)。这就是为什么你会遇到“没有这个值”的问题。

1. 安装新的gdb(7.8)

删除当前的gdb(以避免与新gdb发生冲突),并安装用于Python开发的包(用于构建带有Python脚本的gdb)。

sudo apt-get remove gdb
sudo apt-get install python2.7-dev

源代码安装gdb

wget http://ftp.gnu.org/gnu/gdb/gdb-7.8.tar.xz
tar -xf gdb-7.8.tar.xz     
cd gdb-7.8/     
./configure --prefix=/usr/local --with-python
make
sudo make install

现在 gdb 7.8 已经安装在 /usr/local 中。

2. 更新 Qt Creator 设置

  • 打开菜单 Tools > Options ...
  • 选择 Build&Run,选项卡 Debuggers
  • 点击 Add
  • 输入喜欢的名称,写入 路径:/usr/local/bin/gdb

  • 在标签页 Kits 中将 Debugger: 更改为您刚刚创建的名称

希望这对仍然喜欢 Ubuntu 12.04 和 Qt 的人有所帮助。


这解决了我的问题,当我在终端上输入gdb --version时,它显示错误,如python模块加载失败。然后我按照上述步骤进行操作,一切正常,我在配置时使用了--prefix=/usr而不是--prefix=/usr/local,因此Qt creator可以轻松找到调试器,无需进行其他设置更改。 - Haris
除了上面的指令之外,我还需要安装termcap库:sudo apt-get install libncurses5-dev 但其他一切都正常工作,谢谢! - mBardos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接