【发布时间】:2011-02-19 07:48:18
【问题描述】:
我在 Ubuntu 中使用 Qt Creator。它是从存储库安装的,但就目前而言,调试时无法进入 Qt 源代码。
我怎样才能启用它?
【问题讨论】:
我在 Ubuntu 中使用 Qt Creator。它是从存储库安装的,但就目前而言,调试时无法进入 Qt 源代码。
我怎样才能启用它?
【问题讨论】:
由于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 使用该特定安装。
【讨论】:
qtbase5-dbg 和 qtbase-opensource-src。
我让它在 Ubuntu 上运行的唯一方法是 building Qt from sources 和 configure -debug。
之后一切都开始像魅力一样发挥作用。
【讨论】:
用于 Linux 的 Qt 二进制包不包含调试符号,因此调试器不知道要跳转到的文件或行号。如果您希望能够调试 Qt 代码,则需要使用 -debug 配置选项自行构建 Qt。
Sergey Tachenov 中的说明仅在您针对可从 Ubuntu 存储库中找到的 Qt 版本构建应用程序时才有效。
【讨论】: