Qt 调试器与 OpenCV 冻结
Qt Debugger Freezes With OpenCV
如果我不包含 cv::Mat test;
,那么调试器工作正常。由于某种原因,包含那 1 行会终止 Qt 调试器。
症状:
- 变量视图永远加载
- 编码程序冻结 - 您无法停止、启动或执行任何操作
- 编辑器功能正常
- 在您停止调试模式之前,断点变得不可移除
- 40 秒后,您可以选择停止调试器,推断它可能处于无限循环中 - 这(或关闭 Qt)是停止调试器的唯一方法
- 运行 运行时代码按预期工作
- 运行 没有断点的代码按预期运行
我没有做任何花哨的事情(据我所知),所以设置应该是安装时的默认设置。
版本信息:
- Qt Creator 4.2.1
- 基于 Qt 5.8.0(MSVC 2015,32 位)
- 来自修订版 7071b61e02
我不能再用这个了!它使调试过程减慢到只能找到错误所在的爬行速度。这个问题似乎是新问题,几天前才刚刚开始。这是怎么回事?如何在不重新安装 Qt 的情况下使调试器恢复正常?提前致谢!
不只是OpenCV。我在 Windows 上遇到了同样的问题。 Windows 调试器 (WinDbg) 非常糟糕。很多时候,它会像您描述的那样冻结,并且会永远等待那个烦人的旋转器。甚至无法查看 boost::filesystem::path
的值。有时它甚至不显示那里的变量(有时像 this
),当我在 Qt Creator 中展开它时,它们显示为空。
因此,我决定不再对 Windows 进行硬核调试。我所做的是在 Windows 上进行非常浅的调试,在 Linux 上使用 gcc 和 gdb 进行核心调试。我有一台虚拟机 (VM Ware) 用于此。
如果我不包含 cv::Mat test;
,那么调试器工作正常。由于某种原因,包含那 1 行会终止 Qt 调试器。
症状:
- 变量视图永远加载
- 编码程序冻结 - 您无法停止、启动或执行任何操作
- 编辑器功能正常
- 在您停止调试模式之前,断点变得不可移除
- 40 秒后,您可以选择停止调试器,推断它可能处于无限循环中 - 这(或关闭 Qt)是停止调试器的唯一方法
- 运行 运行时代码按预期工作
- 运行 没有断点的代码按预期运行
我没有做任何花哨的事情(据我所知),所以设置应该是安装时的默认设置。
版本信息:
- Qt Creator 4.2.1
- 基于 Qt 5.8.0(MSVC 2015,32 位)
- 来自修订版 7071b61e02
我不能再用这个了!它使调试过程减慢到只能找到错误所在的爬行速度。这个问题似乎是新问题,几天前才刚刚开始。这是怎么回事?如何在不重新安装 Qt 的情况下使调试器恢复正常?提前致谢!
不只是OpenCV。我在 Windows 上遇到了同样的问题。 Windows 调试器 (WinDbg) 非常糟糕。很多时候,它会像您描述的那样冻结,并且会永远等待那个烦人的旋转器。甚至无法查看 boost::filesystem::path
的值。有时它甚至不显示那里的变量(有时像 this
),当我在 Qt Creator 中展开它时,它们显示为空。
因此,我决定不再对 Windows 进行硬核调试。我所做的是在 Windows 上进行非常浅的调试,在 Linux 上使用 gcc 和 gdb 进行核心调试。我有一台虚拟机 (VM Ware) 用于此。