将Qt源添加到QtCreator 2.4.1

时间:2012-05-02 15:18:28

标签: qt qt4 gdb qt-creator

我目前正在使用QtCreator 2.4.1和Qt 4.7.4开发库(在Ubuntu中),我正在尝试追踪一个错误,在使用valgrind进行概要分析后,似乎在QGraphicsView :: paintEvent(...)方法内部发生了

为了帮助隔离这个问题,我想进入Qt源代码。完成了对Qt论坛和堆栈溢出的一些搜索,并且无法找到将源与我的QtCreator版本集成的方法。

我目前尝试通过QtSDK管理器下载源代码,并在Tools-> Options-> Debugger中添加“源路径映射”。我确信这一步是我犯错误的地方,因为我在查看内部Qt头文件时甚至无法切换到源,即来自QGraphicsView.h

到目前为止,我尝试添加以下源路径映射

Source Path=/var/tmp/qt-src TargetPath=/home/paul/QtSDK/QtSources/4.7.4

Source Path=/var/tmp/qt-src TargetPath=/home/paul/QtSDK/QtSources/4.7.4/src

都没有效果。

我还尝试直接从源代码构建Qt,将其添加到Qt Creator中的“Qt版本”列表中,并使用此版本创建新的项目配置。这也行不通。

同样我尝试将src文件夹添加到我的gdbinit文件中。这也行不通。

我完全迷失了。

1 个答案:

答案 0 :(得分:6)

有人在此问了一个类似的问题:Need to step into Qt sources (my IDE is Qt Creator)

其他人在此问及Qt的Valgrind错误:Suppression files for Qt memory leaks with Valgrind

这里有关于Using Valgrind with Qt Creator的更多信息以及有关如何阅读结果的一些解释。它有点落后于2010年底。

相关建议

  • 我不会调试QGraphicsView类只是因为所有努力使其工作或发现问题可能一无所获... Qt正在转向使用SceneGraph作为后端QML和QGraphicsView的渲染引擎可能已经过时了。

  • 更新到Qt库的最新稳定版本可能会对QGraphicsView产生重大影响。

  • 如果您发布了valgrind错误,那么您将转到Qt Trolls,有人可能会解释您的情况。

  • 除传统调试器外,还有其他调试技术。我一直在Windows中的Qt编程(没有valgrind)和一个大型多线程应用程序,它加载了一堆Dll。我不得不对Object Tree Model清理工作投入一些信心并处理我输入的所有new调用。大多数时候我只是使用QDebug来查找错误。然后我还使用qInstallMessageHandler()QDebug的组合来实现难以跟踪的错误的正确日志记录。

另见Qt Debugging Techniques