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

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

  • 相关阅读:
    SpringCloud初体验:四、API GateWay 服务网关
    SpringCloud初体验:三、Feign 服务间调用(FeignClient)、负载均衡(Ribbon)、容错/降级处理(Hystrix)
    SpringCloud初体验:二、Config 统一配置管理中心
    SpringCloud初体验:一、Eureka 服务的注册与发现
    PHP 通过实现 Iterator(迭代器)接口来读取大文件文本
    SpringCloud初体验:前言
    springboot利用MockMvc测试controller控制器
    vue通过(NGINX)部署在子目录或者二级目录实践
    PHP 设计模式 原型模式(Prototype)之深/浅拷贝
    PHPstorm配置PHPunit对composer引入的php代码进行单元测试
  • 原文地址:https://www.cnblogs.com/wjy-lulu/p/6952540.html
Copyright © 2020-2023  润新知