MFC中ASSERT_VALID fails with NULL pointer的个人解决办法[通俗易懂]

MFC中ASSERT_VALID fails with NULL pointer的个人解决办法[通俗易懂]基于MFC在写一个利用GDAL和GDI+显示图像的系统,原有的Image::FromFile和Image::FromStream都用了一遍发现均会造成锁文件的情况,即使在程序用了delete的情况下,按道理FromStream应该不会锁但是我笨拙的编码依然是锁上了。。。索性换GDAL读图像然后用GDI+显示。在码代码中出现了如下的问题:VS2005调试输出显示:ASSERT_VALIDfai

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

基于MFC在写一个利用GDAL和GDI+显示图像的系统,原有的Image::FromFile和Image::FromStream都用了一遍发现均会造成锁文件的情况,即使在程序用了delete的情况下,按道理FromStream应该不会锁但是我笨拙的编码依然是锁上了。。。索性换GDAL读图像然后用GDI+显示。在码代码中出现了如下的问题:

VS2005调试输出显示:ASSERT_VALID fails with NULL pointer

然后华丽丽的中断了,弹窗说是断言引发了个中断,然后出现了这个情形:

MFC中ASSERT_VALID fails with NULL pointer的个人解决办法[通俗易懂]

明显的File路径不对,这个VS的编译器报错也稀里糊涂的不指哪边出错。google了一系列法子依然找不到。然后就是令人崩溃抓狂的各种调试,调了两小时,无果。最终逼我这个MFC菜鸟使出绝招:新建个空的MFC,对照着将原工程涉及到界面的函数逐步注释掉并运行,有问题在就继续注释,到最后丧心病狂的注释的差不多了,bug显示出来了:

在View的析构函数里delete的两个BYTE*的指针没有在构造函数中初始化。

在构造函数中添加两指针=NULL的指令,问题解决。希望以后不要犯同样的错误,同时如果有遇到同样问题的看到这篇渣文能有帮助的话,也就一本满足了。

处女日志,Mark。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/196963.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • idea如何进行debug调试断点上被打了个对钩_debug调试教程

    idea如何进行debug调试断点上被打了个对钩_debug调试教程IDEA如何进行debug调试第一步,设断点,打开debug第二步,使用Debug调试的功能键程序调试,相信是所有程序员必经之路,因为程序写出来是不可能没有错误的,当然除了非常简单的一些程序之外。相信大家肯定使用过不同的编译软件,都有调试功能,在功能上大多都是大同小异,没有什么区别的,可能唯一的区别在于调试按钮的样式和快捷键不一样。接下来我将带领大家来了解IDEA调试功能,以Java程序为例。第一步,设断点,打开debug      &n

    2022年10月15日
  • 关于我

    关于我

  • JS页面后退并刷新「建议收藏」

    JS页面后退并刷新「建议收藏」JS页面后退并刷新

  • choropleth map_Mapsource

    choropleth map_Mapsource简介MapStruct是满足JSR269规范的一个Java注解处理器,用于为JavaBean生成类型安全且高性能的映射。它基于编译阶段生成get/set代码,此实现过程中没有反射,不会造成额外的性能损失。您所要做的就是定义一个mapper接口(@Mapper),该接口用于声明所有必须的映射方法。在编译期间MapStruct会为该接口自动生成实现类。该实现类使用简单的Java方法调用来映射source-target对象,在此过程中没有反射或类似的行为发生。性能优点与手工编..

    2022年10月26日
  • centos 7 开启docker的2375端口

    centos 7 开启docker的2375端口首先在Centos7下安装docker,然后修改配置文件信息,运行命令vim/usr/lib/systemd/system/docker.service在配置信息中找到ExecStart=/usr/bin/dockerd-Hfd://–containerd=/run/containerd/containerd.sock-Htcp://0.0.0.0:23…

  • 主机网址怎么查_主机名查询

    主机网址怎么查_主机名查询由于JEO.VEE在做国外空间主机评测服务,平时会有很多朋友询问主机方面的问题,最常见的就是“哪个国外主机商最好?”或者“justhost主机服务怎么样?”等等很多类似的问题。其实国外大部分主机都还是可以的,没有哪个主机商好,也没有哪个最差劲。只有是不适合你。到底怎么知道哪个主机商是否适合自己的站点呢?你可以与你网站规模相类似的站点做下比较。看看对方网站在那个服务器,使用的哪个空间商。比如你的

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号