Qt Creator 调试器 在 Ubuntu 13.10下 局部变量和表达式(Locals) 无内容
2013-10-25 11:39
459 查看
此篇算是一个翻译,万一有国内同样的小白遇到同样问题,方便参考。
原文http://hostilefork.com/2013/10/20/qtcreator-debugger-no-locals-ubuntu/
此bug在Ubuntu 13.10下,Qt Creator的2.7, 2.8版本均存在。简单说,此非gdb问题,而是python版本的不一致导致。
Ubuntu13.10提供的gdb是用python3编译的,而Qt Creator并未为python3做出适配,于是就有了Locals空白的bug。
可以以如下方式验证:
终端,运行gdb, 键入如下:
若是显示 “invalid syntax” error,说明此gdb用的是python3,python3在print中是需要括号的,改为如下:
如果得到的是3.x.x,就正对了。Qt Creator显然还没打算支持3.x.x版本。
解决方法:
到GDB官网ftp://sourceware.org/pub/gdb/releases/下载源码包,当前最新版 gdb-7.6.1.tar.gz,
解压到用户主目录,cd到此目录下,
可以运行/usr/local/gdb-python2/bin/gdb, 键入python print sys.version重新测试下版本是否回到了2.x.x。
先备份文件/usr/bin/gdb,(比如mv /usr/bin/gdb /usr/bin/gdb-python3),然后
再在Qt Creator里F5,看Locals and Expressions(局部变量和表达式)是不是有显示了。
搞定。
注:此bug的表现就是在整个调试过程,下面的窗体一直一片空白:
原文http://hostilefork.com/2013/10/20/qtcreator-debugger-no-locals-ubuntu/
此bug在Ubuntu 13.10下,Qt Creator的2.7, 2.8版本均存在。简单说,此非gdb问题,而是python版本的不一致导致。
Ubuntu13.10提供的gdb是用python3编译的,而Qt Creator并未为python3做出适配,于是就有了Locals空白的bug。
可以以如下方式验证:
终端,运行gdb, 键入如下:
(gdb) python print sys.version
若是显示 “invalid syntax” error,说明此gdb用的是python3,python3在print中是需要括号的,改为如下:
(gdb) python print (sys.version)
如果得到的是3.x.x,就正对了。Qt Creator显然还没打算支持3.x.x版本。
解决方法:
自行构建一个基于Python2的GDB
步骤如下:sudo apt-get install ncurses-dev
到GDB官网ftp://sourceware.org/pub/gdb/releases/下载源码包,当前最新版 gdb-7.6.1.tar.gz,
解压到用户主目录,cd到此目录下,
./configure –prefix /usr/local/gdb-python2 –with-python
make sudo make install
可以运行/usr/local/gdb-python2/bin/gdb, 键入python print sys.version重新测试下版本是否回到了2.x.x。
设置Qt Creator 使用新安装的GDB
直接介绍简便方法了。先备份文件/usr/bin/gdb,(比如mv /usr/bin/gdb /usr/bin/gdb-python3),然后
sudo ln -s /usr/local/gdb-python2/bin/gdb /usr/bin/gdb
再在Qt Creator里F5,看Locals and Expressions(局部变量和表达式)是不是有显示了。
搞定。
注:此bug的表现就是在整个调试过程,下面的窗体一直一片空白:
相关文章推荐
- MTK QT flashtool试用总结
- Qt 调试问题总结
- QT使用Design设计的界面的调用方法
- 安装QT5.02
- 安装QT5.02
- Qt版权介绍:GPL, LGPL 以及 Commercial 授权
- Qt版权介绍:GPL, LGPL 以及 Commercial 授权
- qt学习每日总结(1)
- 骨骼动画初步完成
- QTP学习笔记--define new test object
- QT右键菜单
- QT QTableView用法小结
- QTP/UFT(LoadRunner)11及以上版本的延长使用时间的方法
- QT获得目下的所有文件名
- JNI加载Native Library 以及 跨线程和Qt通信
- QT 数字图像处理 笔记一
- FriendlyARM中用自己的qt程序取代板子自带的程序
- linux中,qt creator使用pinyin输入法无法进行编程提示
- 【PyQt】算法-插入、递归、冒泡
- QTP用代码实现浏览器的打开和关闭