VS内存异常如何调试

VS内存异常如何调试

VS 中使用Opencv库出现了内存异常,卡了很久,记录一下经验。

内存异常:

内存异常不像编译出错那样直接指出错误的地方

在这里插入图片描述

异常报错的地方不一定是真实存在问题的地方

我在这里卡了好久,实在找不出我定义一个变量能有什么问题。
断点调试可能还是卡在这一行。
于是我将这一行以及后面的代码进行注释,发现异常报错的代码变了,变成了注释代码的结束的后一行,于是终于找到了问题,是注释代码的前一行出现了问题


调试方法:

  1. 检查异常报错上一行代码
  2. 我出现的问题是传入的形参不对
  3. 按住Ctrl点击函数,自动跳转到函数定义
  4. 但是实参类型和形参类型不一样的话,一般是编译出错
  5. 我遇到的问题是,我传入的类型看似是对的,实则需要再按住Ctrl键点击形参的类型,就会跳转到它的定义。
  6. 于是发现它的形参类型其实是一个返回的量,而我是直接定义的。

下面是我调试的例子

(上面说的也许太抽象了)

  1. 按住Ctrl点击函数initDelaunay
    在这里插入图片描述

    绿色注释部分是参数的解释,一般在函数上方

  2. 检查我的实参
    在这里插入图片描述
    真的没什么问题。。。。

  3. 按住Ctrl点击形参的Rect 类
    在这里插入图片描述

  4. 找到了问题
    在这里插入图片描述
    万万没想到这个Rect竟然是boundingRect函数的一个返回类型。。。。

  5. 修改代码
    在这里插入图片描述

报错解除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值