繁体   English   中英

设置 Qt Creator 以调试到 Qt 类

[英]Setup of Qt Creator to debug into Qt classes

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

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

-- 编辑:Pavel 的评论 --

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

如果您使用的是预构建版本,只需按照http://doc.qt.io/qtcreator/creator-debugger-engines.html 中所述重新映射源代码位置

映射源路径

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

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

要获得“调试器报告的可执行文件的调试信息中的源路径”,您可以通过在堆栈视图中右键单击并将鼠标移动到特定位置来激活“调试时在堆栈视图中使用工具提示”选项函数调用。

如果您查看工具提示,您将看到对/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

一切都会好起来的。 任何源映射在这里都失败了,所以不要管它们。 希望这可以帮助

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

预编译的 Qt 根本不附带带有调试信息的文件。 尝试调试到预编译的 Qt 中可能会浪费大量时间。 这在 Unix 平台上是不可能的,因为没有提供所需的包含调试信息的对象。 出于同样的原因,它在 Windows 上也不可用 - MSVC 构建没有 .pdb 文件,并且 mingw 构建没有目标文件。 这就是它的全部内容。

在构建 Qt 的-debug-and-release构建时,您必须保留以下所有树(文件夹)以便调试工作:

  • 来源,
  • 建造,
  • 安装前缀。

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

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

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

(显然,您需要更改相关的版本号)。

但是假设奇趣科技改变了它的构建目录,那该怎么办呢? (或者,提供/Users/qt/work/qt路径的社区 wiki 是如何找到它的?)您可以通过编辑/path/to/Qt/5.10.1/clang_64/lib/QtCore.framework.dSYM/Contents/Resources/DWARF/QtCore_debug猜测路径需要是什么/path/to/Qt/5.10.1/clang_64/lib/QtCore.framework.dSYM/Contents/Resources/DWARF/QtCore_debug (或任何其他 Qt 库)并搜索一些路径。 "/Users" 似乎是一个很好的猜测。 大约 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/...不会是一个可能的构建路径)

在最近的 Qt creator (v 4.11) 中,在 Tools > Options > Debugger > General 中按下按钮“Add Qt Sources”,然后选择 Qt 源文件。 Qt5 应该由在线安装程序安装,并选中“Qt 调试信息文件”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM