我在Ubuntu中使用Qt Creator。它是从存储库安装的,但就像现在一样,在调试时无法进入Qt源。
我该如何启用?
答案 0 :(得分:40)
由于Qt Creator使用gdb,您需要配置gdb。首先要做的是安装Qt调试符号:
apt-get install libqt4-dbg
或者,对于Qt5:
apt-get install qtbase5-dbg # For the qtbase package
这将安装Qt库的调试符号。较早版本的Ubuntu有一个愚蠢的错误,需要额外的技巧来纠正这些符号文件,但在当前版本中,它可以正常工作。
这将使gdb步入Qt方法,但没有源代码就没有乐趣。因此,我们需要可以像这样安装的源,假设在APT中启用了源存储库:
apt-get source qt4-x11
ln -s qt4-x11-4.7.0 qt # a convenience symlink
或者,对于Qt5:
apt-get source qtbase-opensource-src
# Make a link as above, if you wish
这将下载源代码,将它们解压缩到当前目录并相应地修补它们,除非当前用户无法写入当前目录,否则不需要root权限。
最后一件事是通知gdb源位置,这是通过将其放在~/.gdbinit
文件中完成的:
dir ~/vita/qt/src/corelib
dir ~/vita/qt/src/gui
dir ~/vita/qt/src/network
dir ~/vita/qt/src/sql
根据需要添加模块和更正路径。便利符号链接在这里非常有用,因此我们每次升级到新的Qt版本时都不必编辑此文件。我们只需要下载新的源代码,修补它们并更改符号链接。
请注意,即使我们已经安装了调试符号,我们仍然使用Qt库的发布版本。这意味着代码经过高度优化,并且在步入Qt二进制文件时有时会表现得非常奇怪。如果这是一个问题,那么有必要在调试模式下构建Qt,单独安装(例如,在/ usr / local / qt4-debug中)并告诉Qt Creator使用该特定安装。
答案 1 :(得分:0)
我在Ubuntu上运行的唯一方法是使用configure -debug
building Qt from sources。
事后,一切都开始像魅力一样。
答案 2 :(得分:0)
Linux的Qt二进制包不包含调试符号,因此调试器不知道要跳转到的文件或行号。如果您希望能够调试Qt代码,则需要使用-debug configure选项自行构建Qt。
Sergey Tachenov指令的说明仅适用于您根据可从Ubuntu存储库找到的Qt版本构建应用程序。