关于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去调试了。
上面都是血的教训啊,你没遇到就好,遇到弄死你!!!
关于VS+ImageWatch在线调试问题的更多相关文章
- 在线调试lua原型设计
在规模日益增长的软件项目开发中, 如何有效的进行代码调试成为影响开发效率的致命因素之一.在当今网络游戏项目中, lua几乎成了项目脚本的标配.编译型的语言, 诸如C++, 都有良好的ide支持调试.而 ...
- 在线调试和演示的前端开发工具------http://jsfiddle.net/
在线调试和演示的前端开发工具------http://jsfiddle.net/
- Keil(MDK-ARM)使用教程(三)_在线调试
Ⅰ.概述 该文章总结Keil(MDK-ARM)在线调试相关的内容,详情请往下看. 该文章是基于新建好软件工程来讲述,关于Keil的下载.安装和新建工程我已将在前面做了详细的总结,不懂的可以参看我博客里 ...
- 用Eclipse和GDB构建ARM交叉编译和在线调试环境
我们在 Linux 主机中搭建我们的开发环境,使用 Ubuntu 10.04 LTS 为例. 搭建应用开发环境 安装 JRE Eclipse 依赖于Java 环境,所以必须先安装 JRE 或 JD ...
- In-System Debugger for 8051 Devices(ISD 8051单片机在线调试器)
此文档包含了最新版本的说明及最近的更新特别是对 ISD51 的说明(用户手册没有此说明) Keil Software,Inc and Keil Elektronik GmbH保留所有此文件中涉及的信息 ...
- Basys3在线调试视频指南及代码
fpga在线调试视频链接 FPGA选择型号:xc7a35tcpg236-1 des文件 `timescale 1ns / 1ps module top( output [1:0] led, outpu ...
- ImageWatch 无法安装在VS2017环境下的解决方案
Download: https://marketplace.visualstudio.com/items?itemName=VisualCPPTeam.ImageWatch#qna For Visua ...
- Node JS 8 如何在浏览器上在线调试
0:为何专门针对Node8写这个 从nodejs8开始,node去掉了_debugger , 内部集成了inspect , 以往使用node-inspect实现的在线调试不再可用.node8开始要用新 ...
- 关于QT_Creator不能在线调试问题
电脑:W7+64位,QT:5_7_0(vs2015版本) 用QTcreator进行在线调试时出现找不到“engine...”,原因是没有在线调试软件 CDB下载地址:http://msdn.micro ...
随机推荐
- Texas Instruments matrix-gui-2.0 hacking -- generate.php
<?php /* * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ * * * Redistrib ...
- HihoCoder - 1794:拼三角形 (状压DP)
描述 给定 n 根木棍,第 i 根长度为 ai 现在你想用他们拼成尽量多的面积大于 0 的三角形,要求每根木棍只能被用一次,且不能折断 请你求出最多能拼出几个 输入 第一行一个正整数 n 第二行 n ...
- CTF之ROT加解密
常见的ROT加密包括ROT5,ROT13,ROT18,ROT47 ROT5:只是对数字进行编码.用当前数字往后数的第五个数字替换当前数字: 例:123sb——>678sb ROT13:只是对字母 ...
- 有用的sql语句积累
⑴. sql查询未被外键关联的数据 select * from bb b where not exists (select 1 from aa a where a.bid=b.bid)
- Laravel 服务容器实例教程 —— 深入理解控制反转(IoC)和依赖注入(DI)
容器,字面上理解就是装东西的东西.常见的变量.对象属性等都可以算是容器.一个容器能够装什么,全部取决于你对该容器的定义.当然,有这样一种容器,它存放的不是文本.数值,而是对象.对象的描述(类.接口)或 ...
- MySQL--修改普通表为自增表
=========================================================== 修改普通表为自增表 将普通表修改为自增表,可分为两种类型: 1.将现有列修改为自 ...
- TensorFlow 官方文档中文版学习
TensorFlow 官方文档中文版 地址:http://wiki.jikexueyuan.com/project/tensorflow-zh/
- pykd试用
啥是pykd? 一个windbg插件,能在windbg里面运行python指令 试用步骤 下载from https://pykd.codeplex.com/releases/view/615625 解 ...
- SQL语言:DDL/DML/DQL/DCL
SQL (Structure Query Language)语言是数据库的核心语言. SQL 的发展是从1974年开始的,其发展过程如下: 1974年-----由Boyce和Chamberlin提出, ...
- Angular 4 父组件调用子组件中的方法
1. 创建工程 ng new demo3 2. 创建子组件 ng g component child 3. 在子组件中定义方法greeting 4. 父组件html(第三行是模板中调用子组件的方法) ...