将Qt源添加到QtCreator 2.4.1

pri*_*ond 10 qt gdb qt4 qt-creator

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

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

我目前尝试通过QtSDK管理器下载源代码,并在Tools-> Options-> Debugger中添加"Source Path Mapping".我确信这一步是我犯错的地方,因为我在查看内部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文件中.这也无法奏效.

我完全迷失了.

保罗

phy*_*att 6

有人在这里问了一个类似的问题:需要进入Qt源(我的IDE是Qt Creator).

其他人在这里询问有关Qt的Valgrind错误:使用Valgrind的Qt内存泄漏的抑制文件

这里有一些关于使用Valgrind和Qt Creator的信息以及关于如何阅读结果的一些解释.它有点落后于2010年底.

相关建议

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

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

  • 如果您发布了valgrind错误,那么您将进入Qt Trolls,有人可能能够解释您的情况.

  • 除了传统的调试器之外,还有其他调试技术.我一直在Windows中的Qt编程(没有valgrind)和一个大型多线程应用程序,它加载了一堆Dll.我不得不对对象树模型进行一些信任清理并处理new我输入的所有调用.大多数时候我只是使用QDebug来查找错误.然后我也使用的组合qInstallMessageHandler()QDebug实现体面日志记录很难跟踪的bug.

另请参阅Qt调试技术.