4

我已经从 qt-project 下载页面下载并安装了适用于 Windows 32 位 (MinGW 4.8) 的 Qt 5.1.0。我已经运行了安装程序,并且能够使用这些库和 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"
4

4 回答 4

4

在 7.4 和 7.5 之间的某个时间点引入了一个 gdb 错误,这使得它慢得多。在调试 QObject 类时,较慢的会变得非常慢。

通过禁用调试助手,您可以改进它,但是您会错过本地变量和表达式中的许多宝贵信息。例如,您不能很好地显示 QLists 的内容等......

似乎要么:

  • 从 CVS 构建 gdb 或
  • 使用较旧的 gdb (7.4.1)

解决了这个问题。

于 2013-09-12T13:45:21.150 回答
4

Qt creator 在其 gdb 选项中有“尝试快速启动”。它有很大帮助。

或者您可以切换到在 Windows 上使用 MSVC 编译器。这也将您的调试切换到 CDB 而不是 GDB 并完全绕过问题。如果您不喜欢 MS IDE,您可以安装 MSVC 编译器并将其插入 QtCreator 而不是 mingw。

PS 这也为您提供了可读的核心转储,这是天赐之物。

于 2014-01-15T19:18:36.333 回答
1

请参阅对Zeks 回答的评论。他在那里解释说,从 MinGW 工具链切换到 Microsoft 工具链(编译器、调试器)可以完全解决问题。幸运的是,Qt Creator 支持 Microsoft 工具链,因此您无需切换 IDE。

在我这样做之后,调试器启动时间现在是 4 秒,并且在应用程序崩溃时它有零延迟。它也加快了构建速度

作为参考,我在这里描述了我是如何设置我的系统

于 2016-08-31T15:52:25.933 回答
0

I have managed to improve the debugging speed significantly after changing several settings:

  • Made sure the compiler is gcc.exe and not g++.exe in the Qt5.1.0\Tools\mingw48_32\bin folder
  • Unchecked Use Debugging Helper in the Tools->Options->Debugger->Locals & Expressions menu
  • Unchecked Stop when qWarning() is called and Stop when qFatal() is called
于 2013-09-12T13:03:02.920 回答