为什么在Windows上使用QT Creator 3.0.1进行调试突然变得很慢?

6
我已经长时间在Windows上使用QT Creator 3.0.1,但突然之间调试变得非常缓慢。单步执行、在监视窗口中查看本地变量、恢复执行,所有这些操作都需要耗费许多分钟。如果我遇到断点或崩溃并尝试单步执行,我会看到消息“请求运行”,然后很长时间什么都不会发生。正常的调试UI被禁用(暂停、停止等),但应用程序输出窗口中的停止按钮是启用的并且有效。
我的设置详情如下:
- 运行在Windows XP SP3 32位上 - 使用 kit Desktop 5.2.1 MSVC2010 32位 - cdb.exe 来自 Debugging Tools for Windows x86 - 使用 QT Creator 提供的默认符号缓存位置和服务器。
我已删除并重新创建了符号缓存,修复了Windows调试工具的安装,但没有改变。
这可能是什么原因?是否有需要清理、清除、重置的文件或文件夹?

你检查过应用程序是否泄漏内存或者你正在调试的程序吗? - László Papp
问题甚至在执行开始时就出现了。如果我在main函数的第一行设置断点,仍然会发生这种情况。此外,我已经多次重新启动了QT Creator和我的计算机,以确保安全。但是没有任何变化。 - djcouchycouch
刚刚注意到:在main()函数的第一行设置断点后,调试器重新变得响应的时间更短了。之后,它似乎又正常工作了。但是如果我将其删除,则原始问题仍然存在。 - djcouchycouch
3个回答

7
原来问题出在监视窗口。我手动输入了两个变量,但不知为何这样会严重影响调试器性能。
仅仅从监视窗口里移除它们似乎无法解决问题,我还需要手动从 default.qws 文件中删除它们。该文件位于 c:\Documents and Settings\\Application Data\QtProject\qtcreator\default.qws。
我找到了一个名为“value-Watchers”的节点,其中包含我的两个变量,然后删除了包含它们的整个 Data 部分。之后,调试性能恢复正常。

2
我遇到了同样的问题,通过清除所有用户设置文件来解决。根据Qt文档,在不同平台上的位置如下:
  • 在Linux和其他Unix平台上,这些文件位于~/.config/QtProject~/.local/share/data/QtProject/qtcreator

  • 在macOS上,这些文件位于~/.config/QtProject~/Library/Application Support/QtProject/Qt Creator

  • 在Windows XP上,这些文件位于%SystemDrive%\Documents and Settings\%USERNAME%\Application Data\QtProject%SystemDrive%\Documents and Settings\%USERNAME%\Local Settings\Application Data\QtProject

  • 在Windows 7上,这些文件位于%SystemDrive%\Users\%USERNAME%\AppData\Roaming\QtProject%SystemDrive%\Users\%USERNAME%\AppData\Local\QtProject

来源:http://doc.qt.io/qtcreator/creator-quick-tour.html#location-of-settings-files

1

我遇到了类似的问题。调试器平常只需要10秒钟就能加载,但这一次要花费10分钟的时间。我将 default.qws 文件重命名后问题得以解决。 进一步分析发现问题出在断点上:如果一个断点设置在不属于项目的文件上,调试器会尝试为每个已加载的模块/DLL解析该断点,导致进程非常缓慢。

解决方法是编辑 default.qws 文件,删除那些已经不存在的文件上的断点。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接