我已从qt-project下载页面下载并安装了适用于Windows 32位的Qt 5.1.0(MinGW 4.8)。我已经运行了安装程序,并且能够使用这些库和minGW 4.8 32位工具链编译和运行应用程序。
但是,我有一个大型应用程序,当我尝试调试它时(使用与minGW工具链捆绑在一起的gdb),开始运行需要花费大量时间,并且与应用程序的任何交互都需要很长时间去完成。不是烦人的时间,而是无法使用的时间。有没有其他人有这个问题,有没有解决方案?
如果这有帮助,我会在调试时获得大量输出:
Temporarily disabling breakpoints for unloaded shared library "C:\Qt\Qt5.1.0\5.1.0\mingw48_32\plugins\somefolder\somelib.dll"
答案 0 :(得分:4)
在7.4和7.5之间的某个时刻引入了一个gdb错误,这使得速度慢得多。调试QObject类时,速度变得非常慢。
通过禁用调试帮助程序,您可以改进它,但是您会错过本地变量和表达式中的大量宝贵信息。例如,您无法很好地显示QLists等的内容......
似乎要么:
解决了这个问题。
答案 1 :(得分:4)
Qt创建者在其gdb选项中“尝试快速启动”。它有很多帮助。
或者您可以在Windows上切换到使用MSVC编译器。这也会将您的调试切换到CDB而不是GDB,并完全绕过问题。如果你不喜欢MS IDE,你可以安装MSVC编译器并将其插入QtCreator而不是mingw。
P.S。这也为您提供了可读的核心转储,这是天赐之物。
答案 2 :(得分:1)
请参阅Zeks' answer上的评论。他解释说,从MinGW工具链切换到Microsoft工具链(编译器,调试器)可以完全解决问题。幸运的是,Qt Creator支持Microsoft工具链,因此您无需切换IDE。
在我这样做之后,调试器启动时间现在是4秒,并且在应用程序崩溃时它没有延迟。它也sped up builds很多。
作为参考,我已经描述了我如何设置我的系统here。
答案 3 :(得分:0)
更改了几个设置后,我设法显着提高了调试速度:
Qt5.1.0\Tools\mingw48_32\bin
文件夹Use Debugging Helper
工具 - >选项 - >调试器 - >本地&表达式菜单Stop when qWarning() is called
和Stop when qFatal() is called