影醉阏轩窗

衣带渐宽终不悔,为伊消得人憔悴。
扩大
缩小

关于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去调试了。

上面都是血的教训啊,你没遇到就好,遇到弄死你!!!

 

posted on 2017-06-06 17:07  影醉阏轩窗  阅读(2788)  评论(0编辑  收藏  举报

导航

/* 线条鼠标集合 */ /* 鼠标点击求赞文字特效 */ //带头像评论