C/C++ error/exception throw: access violation reading location 0x....;
【问题背景】问题现象如下图:
【问题分析】这类问题,概括的说对基本由于指针未正确使用(申请或者释放过程中产生问题)而导致。
[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....;相关推荐
- 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...... ...
- OpenCV特征检测出现Unhandled exception at……Access violation reading location 0x00000000.
OpenCV版本为2.4.12,Visual Studio 开发环境中运行. 在图像特征检测.匹配中出现了运行错误: Unhandled exception at 0x569D1C00 (opencv ...
- Unhandled exception 0xC0000005: Access violation writing location
vs2010 出现文件无法写入的问题,下列代码中每当运行<< 时会出错,错误提示如题: Unhandled exception 0xC0000005: Access violation w ...
- Access violation reading location 0xccccccc0运行异常的解决方法
转自:http://blog.csdn.net/michealmeng555/article/details/6452697 编译过运行时出现如下错误 Access violation reading ...
- Access violation reading location 0x000000XX
对于这样的运行时错误,你可能会抓狂.我今天在编写MFC程序时遇到了这样的错误,解决这个问题花了我一个多小时的时间,最后才定位到错误. 首先解释一下这种错误,意思是:违反规则访问地址为0x0000003 ...
- 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 ...
- 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 ...
- exception: access violation reading 0xFFFFFFFFFFFFFFFF
exception: access violation reading 0xFFFFFFFFFFFFFFFF 原因:内存释放的时候出了问题,可能是释放过了. av_freep(aviobuffer); ...
- OSError: exception: access violation reading 0x0000000000000001
File "D:\Users\Administrator\Miniconda3\envs\python36\lib\ctypes\__init__.py", line 492, i ...
最新文章
- 计算机音乐戏子多秋,抖音戏子多秋是什么歌
- windows server 2008设置远程桌面连接最大数量
- Android学习笔记之progressBar(进度条)
- eclipse安装Log4E插件以及简单使用
- 数据挖掘建模之常见概率分布总结
- linux抓源地址,【Linux】apt-get 源地址汇总
- Thinkphp ajax分页
- java不大于6位_末尾带4的完全平方数的数量并且打印输出_Java计算一个数加上100是完全平方数,加上168还是完全平方数...
- linux连接sftp服务器,如何在Linux上配置SFTP服务器
- c语言三线程,如何用C语言实现多线程
- 带线程池的socket客户端与服务端
- 谷歌AI掌门人Jeff Dean获冯诺依曼奖;微软计划自研PC和服务器芯片;Ruby 3.0 RC1发布|极客头条...
- tp读取配置文件机制
- WIN10不显示sql2005服务器,win10系统安装sql2005 sql服务无法启动的解决方法
- 快速部署开源的 Java 博客系统 Tale
- MD5加密(加盐),为什么要在密码里加点“盐“
- 无法保存在此处,请选择其他位置
- 深入理解Amazon Alexa Skill(一)
- div随着屏幕滚动而滚动
- python 修改元组的方法?怎么修改元组?
热门文章
- yolov5 继续训练
- clickhouse列转行
- 大型企业CA认证系统部署应用案例解析
- 苹果5概念机_iPhone x Fold概念机曝光,搭配A13处理器,还支持5G,价格多少合适?...
- 地铁怎么坐才不能做反_[第一次]第一次一个人坐地铁,我坐反了方向
- 计算机组成原理课程设计-基本模型机的设计与实现
- python复利计算_python复利代码
- 如何关掉苹果iMac开机启动声音
- 【2022最新】mac版本Chrome谷歌浏览器导入burpsuite证书
- 趣玩Python——如何帮女朋友快速抢票