Qt调试器冻结OpenCV

时间:2017-08-01 19:23:32

标签: c++ qt opencv debugging freeze

enter image description here

如果我不包含cv::Mat test;,那么调试器工作正常。由于某种原因,包含该1行会导致Qt调试器失效。

症状:

  • 变量视图永远加载
  • 编码程序冻结 - 您无法停止,启动或执行任何操作
  • 编辑器正常运行
  • 在您停止调试模式之前,断点将无法移除
  • 40秒后,您可以选择停止调试器,推断它可能处于无限循环中 - 这(或关闭Qt)是停止调试器的唯一方法
  • 在运行时运行代码按预期工作
  • 运行没有断点的代码按预期工作

我没有做任何花哨的事(据我所知),因此设置应该是安装时的默认设置。

版本信息:

  • Qt Creator 4.2.1
  • 基于Qt 5.8.0(MSVC 2015,32位)
  • 来自修订版7071b61e02

我再也无法解决这个问题!它将调试过程放慢到爬行状态,只是找到错误的位置。问题似乎是新的,几天前刚刚开始。发生了什么事?如何在不重新安装Qt的情况下恢复调试器?提前谢谢!

1 个答案:

答案 0 :(得分:0)

它不仅仅是OpenCV。我在Windows上遇到同样的问题。 Windows调试器(WinDbg)非常糟糕。很多时候它像你一样描述冻结并且永远带着那个恼人的等待旋转器。它甚至无法查看navigationView.setNavigationItemSelectedListener(this); 的值。有时它甚至不显示那里的变量(有时候像boost::filesystem::path),当我在Qt Creator中展开它时,它们显示为空。

因此,我决定不再在Windows上进行核心调试了。我做的是,在Windows上进行非常浅的调试,以及在Linux上使用gcc和gdb进行硬核调试。我有一个虚拟机(VM Ware),我用它。