【问题背景】问题现象如下图:

【问题分析】这类问题,概括的说对基本由于指针未正确使用(申请或者释放过程中产生问题)而导致。

[01]像我产生这个错误时,看自己的代码哪里都好的,检查的检查了,异常的处理了,释放更不会不置nullptr(这种错误基本的错误不可不考虑到),然后我的错误的产生是这样:重定义一个指针变量,VS2015竟然没直接提示错误(因为自己重来不会去想自己不小心重定义了一下变量,有时要写比较多的代码时,你cp一下以前的代码或者 别的人可重构部分的代码,这种情况下别人定义的地方是一个main函数(在定义文件中声明),而你想写在自己定义的某个类中(在头文件声明),于是你cp时,别人的在main中声明,你直接cp过来,应该去掉声明部分,但你没去掉,这样在释放时,就会出现上面的问题)。

【小结】:

概括的说:由于指针未正确使用(申请或者释放过程中产生问题)而导致。

具体的说:(1)重定义一个指针,这样在释放时会产生上面的错误 。(2) 越界访问(一般是都跟数组有关);(3)new及delete时(基本上概括的说法);(4)声明指针后,没有初始化,然后就在释放函数中释放了此指针变量,也会出现上面这种现象,现象如下图.(如果你编写UI的应该程序,当你打开后,不想用它操作什么于是你就关闭UI了即关闭了应该程序,此过程指针被声明,并在析构函数中被释放)。不过也基本是这些了。难道还有什么花式作死的招式嘛,哈 !~~

如果你写在类中,在头文件中声明,在定义文件的析函数中释放,编译一点问题都 没有,而这点细小的过失,有时你很难找得出来的,可能会困惑有些人几天,当然也有大佬 一下就找到,甚至不会出现这种过失,不过,哪个敢说自己没有失手的时候呢,养成好习惯吧!如果你写在一起,如上图,编译都不通过。指针好危险,但也很有用!C++的虚函数本质是指针。

【建议】

在声明指针时一定要马上定义它。如果你可能没马上用它,那么请定义成nullptr,这样减少潜在的隐患。还有要养成一个习惯,在使用指针时,一定要先确定它是否是合法的,释放时,一定要确定它是否已经定义了,因为释放一个声明的指针,一般会出现error:access violation 。

【别人的遇到的】(现在问题时,找问题过程中发现的,感觉可以)

https://blog.csdn.net/michealmeng555/article/details/6452697?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1

C/C++ error/exception throw: access violation reading location 0x....;相关推荐

  1. Unhandled exception at 0x........ in XXXX.exe: 0xC0000005:Access violation reading location 0x......

    Unhandled exception at 0x........ in XXXX.exe: 0xC0000005:Access violation reading location 0x...... ...

  2. OpenCV特征检测出现Unhandled exception at……Access violation reading location 0x00000000.

    OpenCV版本为2.4.12,Visual Studio 开发环境中运行. 在图像特征检测.匹配中出现了运行错误: Unhandled exception at 0x569D1C00 (opencv ...

  3. Unhandled exception 0xC0000005: Access violation writing location

    vs2010 出现文件无法写入的问题,下列代码中每当运行<< 时会出错,错误提示如题: Unhandled exception 0xC0000005: Access violation w ...

  4. Access violation reading location 0xccccccc0运行异常的解决方法

    转自:http://blog.csdn.net/michealmeng555/article/details/6452697 编译过运行时出现如下错误 Access violation reading ...

  5. Access violation reading location 0x000000XX

    对于这样的运行时错误,你可能会抓狂.我今天在编写MFC程序时遇到了这样的错误,解决这个问题花了我一个多小时的时间,最后才定位到错误. 首先解释一下这种错误,意思是:违反规则访问地址为0x0000003 ...

  6. Unhandled exception at 0x00291422 in x.exe: 0xC0000005: Access violation writing location 0x37ACCE08

    源码如下: #include<stdio.h> #include<string.h> #include<stdlib.h> //malloc所在库#define M ...

  7. First-chance exception at 0x000007FE86D99B3C in XXXX.exe: 0xC0000005: Access violation reading locat

    First-chance exception at 0x000007FE86D99B3C in XXXX.exe: 0xC0000005: Access violation reading locat ...

  8. exception: access violation reading 0xFFFFFFFFFFFFFFFF

    exception: access violation reading 0xFFFFFFFFFFFFFFFF 原因:内存释放的时候出了问题,可能是释放过了. av_freep(aviobuffer); ...

  9. OSError: exception: access violation reading 0x0000000000000001

    File "D:\Users\Administrator\Miniconda3\envs\python36\lib\ctypes\__init__.py", line 492, i ...

最新文章

  1. 计算机音乐戏子多秋,抖音戏子多秋是什么歌
  2. windows server 2008设置远程桌面连接最大数量
  3. Android学习笔记之progressBar(进度条)
  4. eclipse安装Log4E插件以及简单使用
  5. 数据挖掘建模之常见概率分布总结
  6. linux抓源地址,【Linux】apt-get 源地址汇总
  7. Thinkphp ajax分页
  8. java不大于6位_末尾带4的完全平方数的数量并且打印输出_Java计算一个数加上100是完全平方数,加上168还是完全平方数...
  9. linux连接sftp服务器,如何在Linux上配置SFTP服务器
  10. c语言三线程,如何用C语言实现多线程
  11. 带线程池的socket客户端与服务端
  12. 谷歌AI掌门人Jeff Dean获冯诺依曼奖;微软计划自研PC和服务器芯片;Ruby 3.0 RC1发布|极客头条...
  13. tp读取配置文件机制
  14. WIN10不显示sql2005服务器,win10系统安装sql2005 sql服务无法启动的解决方法
  15. 快速部署开源的 Java 博客系统 Tale
  16. MD5加密(加盐),为什么要在密码里加点“盐“
  17. 无法保存在此处,请选择其他位置
  18. 深入理解Amazon Alexa Skill(一)
  19. div随着屏幕滚动而滚动
  20. python 修改元组的方法?怎么修改元组?

热门文章

  1. yolov5 继续训练
  2. clickhouse列转行
  3. 大型企业CA认证系统部署应用案例解析
  4. 苹果5概念机_iPhone x Fold概念机曝光,搭配A13处理器,还支持5G,价格多少合适?...
  5. 地铁怎么坐才不能做反_[第一次]第一次一个人坐地铁,我坐反了方向
  6. 计算机组成原理课程设计-基本模型机的设计与实现
  7. python复利计算_python复利代码
  8. 如何关掉苹果iMac开机启动声音
  9. 【2022最新】mac版本Chrome谷歌浏览器导入burpsuite证书
  10. 趣玩Python——如何帮女朋友快速抢票