关于VS+ImageWatch在线调试问题
1.使用VS肯定离不开在线调试
2.使用Opencv在VS下进行图像处理,那肯定少不了Image Watch
这两个软件在线调试都存在大坑,弄得精疲力尽才找到解决办法!!!
以下问题都可以通过这个设置优化去解决,但是当你程序庞大需要优化且也需要看参数的时候,本篇博文会对你有所帮助!
本来是想直接说问题的,但是刚用这个插件的时候,发现安装还是问题,现在提供一个几秒钟完成安装的方法--->>>
到上一个图片直接点击安装(install)就可以了,这里我的已经安装了,所以出现uninstall卸载的按钮出现~~,然后就可以使用了
注意: 以前只能在Debug模式下,现在release条件下也可以使用。只要打一个断点就可以了(记得打断点!!!)。
如果想整个程序都使用Image Watch,那就在waitkey(0)处打一个断点,然后进行调试就可以了
Local模式是自动模式,是插件自动生成的变量
上面的模式和VS自带的Autos是一样的,懂VS的都明白
Watch模式是自己定义的模式,想看什么Mat自己输入
和VS的Watch一模一样
这个插件的主要作用:1.可以实时的看图像和数据。2.可以看图像的每一点像素值。3.图像的对比比较明显。
最主要的还是看像素和数据~~
现在来说一说这个缺陷,之前遇到这个问题总是逃避,不行就不用了,反正Imshow可以代替~~今天做小项目imshow不合适,就想解决这个问题。
大家使用的过程中有出现这个问题吗?没毛病吧?
按F10单步运行--->>>整个插件崩溃了,什么都看不见了
使用Imshow()显示--->>>可以正常显示
解决途径:
方法一:注释掉之前可以显示,后面就不能显示的语句。PS:没人会用这种方法,为了好看而抛弃程序。。。不演示了,没意义。
方法二:用断点去跳转--->>>看下面图
在能看见的图像处设置一个断点,然后在不能显示的语句处设置一个断点,注意!!!一定要按F5从一个断点跳转到另一个断点,如果用F10是不行的!!!
总结一下:不知道什么原因,就是突然发现的这个方法,完美解决~~
有些人用了很久也不明白一个问题,relese模式下也可以设置断点和进行程序的调试,为什么还用Debug吗?
网上都说re是发布,De是调试,难道Re不能调试吗?
1.使用opencv遇到某些函数在Debug下面是不能使用的,比如FindCoutours。。。。
2.Debug模式下的处理没有Release下面快,当你一个程序跑半天就知道了,比如使用vector的10000个数
3.Release模式有时候在线调试看不到一些参数变化,或者出现非正常的数据,比如某个数等于100,调试窗口等于100000.。。
那就得用cout或者Debug去调试了。
上面都是血的教训啊,你没遇到就好,遇到弄死你!!!
-------------------------------------------
个性签名:衣带渐宽终不悔,为伊消得人憔悴!
如果觉得这篇文章对你有小小的帮助的话,记得关注再下的公众号,同时在右下角点个“推荐”哦,博主在此感谢!