设置Qt Creator以调试到Qt类

时间:2014-01-30 23:04:36

标签: qt qt-creator

我想以某种方式设置Qt Creator(3.0),我可以调试到Qt类。所以我下载了相应的src代码(http://gitorious.org/qt/qt5)并将其安装在目录中(例如c:\Qt5\src)。

然后我有自己的项目。我在哪里需要设置Qt(c:\Qt5\src)的源代码路径,所以我可以调试我的代码,但也可以在必要时调试到Qt类。

- 编辑:Pavel的评论 -

Pavel提供了一个很好的提示:但我使用的是Qt / Qt Creator的预编译版本。所以我基本上在寻找一种不需要我从源代码编译的解决方案。尽管如此,一个有用的提示感谢。

5 个答案:

答案 0 :(得分:16)

如果您使用的是预建版本,请重新映射源代码位置,如http://doc.qt.io/qtcreator/creator-debugger-engines.html

中所述

映射源路径

要使调试器在不同于构建库的位置使用源树的副本时进入代码并显示源代码,请将源路径映射到目标路径:

  • 选择工具>选项>调试器>一般>添加。
  • 在“源路径”字段中,指定调试器报告的可执行文件的调试信息中的源路径。
  • 在“目标路径”字段中,指定本地计算机上源树的实际位置。

要在调试器"报告的可执行文件的调试信息中获取" 源路径,您可以激活" 使用Tooltps in调试时的堆栈视图"通过在堆栈视图中单击并在特定函数调用上移动鼠标来选择选项。

答案 1 :(得分:6)

如果您查看工具提示,您将看到对/Users/qt/work的引用,Mac部署的调试符号指向那里。当然,这没有记录,因为这些人希望你购买企业。

如果您创建/Users/qt/work目录(以root身份),然后建立一个指向qt的源目录的软链接,一切都会正常工作。不需要从源代码构建任何东西(在Mac下会导致数十次演出浪费)。关于插件的相同注意事项

示例:

sudo -s
mkdir /Users/qt
cd /Users/qt
mkdir work
cd work
ln -s /Users/your_user_name/Qt/your_qt_release/Src qt

一切都会奏效。这里的任何源映射都失败了,所以不要管它们。 希望这有帮助

答案 2 :(得分:3)

你必须编译自己的Qt。这是获得此功能的唯一方法。您可以自由使用任何所需的IDE,包括预编译的IDE。只需在Qt Creator中将自编译的Qt注册为套件。

预编译的Qt根本不附带包含调试信息的文件。您可以浪费无限的时间来尝试调试预编译的Qt。在Unix平台上是不可能的,因为不包含所需的包含调试信息的对象。它也没有在Windows上可用,出于同样的原因 - .pdb文件不适用于MSVC构建,并且目标文件不适用于mingw构建。这是非常重要的。

构建Qt的-debug-and-release版本时,必须保留以下所有树(文件夹)才能使调试正常工作:

  • 源,
  • 构建
  • 安装前缀。

我真的不知道预先构建的Qt是什么。就我而言,它不应该被提供:它只是让每个人都感到困惑。这对最终用户没有用,对开发人员没有用 - 我无法在没有访问Qt源的情况下看到调试。在某种程度上,它破坏了存在来源的目的。当然,应该有一个预构建的Qt Creator,它带有它需要的预构建的Qt库,但是不应该在它之外暴露它。

答案 3 :(得分:2)

使用Xcode,在第一次进入Qt库之前,在LLDB窗口中输入以下命令:

settings set target.source-map /Users/qt/work/qt /path/to/Qt/5.10.1/Src

(显然你想要更改版本号,相关)。

但是假设Trolltech改变了它的构建目录,该怎么做呢? (或者,提供/Users/qt/work/qt路径的社区维基是如何找到它的?)您可以通过编辑/path/to/Qt/5.10.1/clang_64/lib/QtCore.framework.dSYM/Contents/Resources/DWARF/QtCore_debug(或任何其他Qt库)并搜索某些路径来猜测路径需要什么。 " /用户"似乎是一个很好的猜测。大约2%进入图书馆,你会开始看到有很多路径的部分,如:

../../include/QtCore/../../src/corelib/kernel^@../../include/QtCore       
/../../src/corelib/tools^@global^@/Users/qt/work/qt/qtbase/src/corelib
/../../include/QtCore/../../src/corelib/arch^@/Applications/Xcode.app
/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/<etc>

寻找看似可写的绝对路径。 (/Applications/...不是可能的构建路径,例如)

答案 4 :(得分:1)

在最近的Qt创建者(v 4.11)中,按“添加Qt源”按钮 在工具>选项>调试器>常规中 并选择Qt源文件。 在线安装程序应使用选中的“ Qt调试信息文件”来安装Qt5。