前一段时间写一个工程,调用自己写的一个库,编译成功,执行时发生了访问冲突;

当时觉得很好奇,这个库不是第一次调用,之前调用过很多次都没有问题,偏偏这次出现了访问冲突;

解决的思路如下:

1. 检查代码,看一下调用接口的代码是否写错, 同时可以通过中断,在vs的调用堆栈窗口查看中断出现的具体步骤,看不懂的就一层一层往外看,直到找到能看懂的代码;

我这里因为调用的接口不多,直接定位了问题出现的地方,但还是不明白发生的原因;

2. 查看别人的解决思路:这里看了几篇博客,这样的访问冲突一般都出现在对未赋值的变量进行读取或者调用时,如https://blog.csdn.net/xiao_mingzz/article/details/79748784 , 我这里库外没有出现这种情况,唯一能发生对未赋值变量读取出错的就是库里的某些变量调用;

3. 回到生成调用库的工程,这算是我这里的一个比较方便的地方,因为库是自己生成的,所以可以查看源码;在源码里查看时,我直接运行源码的工程是没有错的,但是在另外的文件里调用就是出错,我采用了比较笨的方法,再源码里用cout进行输出,一步步定位具体中断出现的代码;后来发现是一个vector变量wins,这里的vector按照推算来讲,是绝对不可能是空的,所以我就直接调用了wins[0],即调用了第一个参数,但实际这里为0 ;后来又查了以下,发现是中间一个变量值出现错误,再接口传入时出错,导致后期vector为空(充分意识到判空的重要性);

至此,问题解决完毕;

总结下来就是先定位问题,看看有没有未赋值就访问,或指针为空就访问的情况;

遇到一个讲解的很清楚的博客,从内存看访问冲突的问题,很好理解:

https://typecodes.com/cseries/pointermemaccess0xC0000005.html

后面遇到新的可能情况再补充~~~

VS2015 调试代码时写入位置时发生访问冲突相关推荐

  1. 用于调用的参数太少/写入位置时发生冲突/检测到无效的异常处理程序例程

    用于调用的参数太少/写入位置时发生冲突/检测到无效的异常处理程序例程 针对新人学C过程中可能遇到的一类问题 我们在学习中经常遇到这种情况: #include<stdio.h> void m ...

  2. 一个 将一个无效参数传递给了将无效参数视为严重错误的函数 及写入位置时发生访问冲突的问题的解决

    我的应用大体功能是这样的,使用opencv的接口,从摄像头实时读取color数据显示,并完全保存所有视频到硬盘,已经点击按钮之后将当前的数据帧保存为图片存储到硬盘. 第一个错误: 第二个错误: voi ...

  3. JavaScript的DOM编程--01--js代码的写入位置

    DOM:Document Object Model(文本对象模型) D:文档 – html 文档 或 xml 文档 O:对象 – document 对象的属性和方法 M:模型 DOM 是针对xml(h ...

  4. 0x00007FFB16E748F0(ucrtbased.dll)处(位于xxx.exe中)引发的异常:0xC0000005:读取位置0xFFFFFFFFFFFFFFFF发生访问冲突

    VS2017调试输入参数(参数是路径)时,总是显示读取字符串错误 一.在VS调试中输入参数 二.出现"引发异常"错误 三.选择启动项目,输入参数 一.在VS调试中输入参数 输入参数 ...

  5. 0x00000000 处有未经处理的异常: 0xC0000005: 在位置 0x0000000000000000 发生访问冲突

    不管了,先上一张图: 经过半天的查找,终于找到了问题所在,以下是详情: 在一个线程函数中调用了动态库,hInst = LoadLibrary("mydll/mydll.dll"); ...

  6. 0x00007FF7C49A4C42 处有未经处理的异常:0xC0000005: 读取位置 0x000001481A2D86C4 时发生访问冲突

    这个问题我最近遇到过几次,主要是在做特征点检测,或者有用到有数组或者向量的情况下,有可能会出现这种情况,可能出现这种问题的情况有很多,我现在说一下我发现的问题: 这几次出现这种问题基本都是溢出问题,比 ...

  7. 关于Visual Studio 2008调试的一些经验以及错误(0xXXXXXXXX处最可能的异常: 0xC0000005: 写入位置 0x00000014 时发生访问冲突)

    最近关于调试的经验教训 Visual Studio 2008调试的一些经验 常规的调试的思路 基础的调试按钮的含义以及一些快捷键 错误:0xXXXXXXXX处最可能的异常: 0xC0000005: 写 ...

  8. 利用Debug调试代码解决0xC0000005: 读取位置 0x0000000000000000 时发生访问冲突

    VS2019利用Debug调试代码解决0xC0000005: 读取位置 0x0000000000000000 时发生访问冲突 之前一直是使用release发布代码模式进行程序编译,前天突然出现这个问题 ...

  9. 0xC0000005: 写入位置 0x00000000 时发生访问冲突

    错误代码 #include<stdlib.h>typedef struct {int *a; }HH;void test(HH *p) {p->a = (int*)malloc(10 ...

最新文章

  1. 新外贸110%加速度,阿里巴巴国际站力推百亿投资计划
  2. 美甲帮:玩转指甲上的大数据平台
  3. j2ee爬坑行之一:web容器
  4. 如何成为出色的项目经理:成功的五个关键因素
  5. vscode终端没显示_记一个VS Code终端显示问题的较完美解决
  6. python具体工作内容_有没有人知道公司里用python工作的内容有什么
  7. redis源码剖析(十六)——服务端思维导图整理
  8. 怎么保存 html静态页面,静态页面怎么实现,就是把数据写入到html页面在缓存起来?...
  9. java 8 kafka 0.82,运行kafka-console-producer.sh的异常(0.8.1.1)
  10. C#之Xml去掉前面的空格
  11. 手机号段归属地数据库
  12. 2016310Exp4 恶意代码及分析
  13. c语言程序设计安卓,C语言编程学习app下载-C语言编程学习 安卓版v2.1.2-PC6安卓网...
  14. nginx史上最强入门教学
  15. 需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 。 A 单链表 B 静态链表 C 线性链表 D 顺序存储结构
  16. vs2015设置c语言,VS2015的使用
  17. Spring Boot 2.x基础教程:使用Spring Data JPA访问MySQL我们得从哪入手
  18. R语言 读写带分隔符的文件
  19. 萨鲁曼的军队 Saruman‘s Army(挑战程序设计竞赛)
  20. 全球14个典型区域的total runof 泰勒图比较

热门文章

  1. bzoj 2440: [中山市选2011]完全平方数(二分+莫比乌斯函数)
  2. bzoj 4034: [HAOI2015]树上操作(树链剖分+线段树区间更新)
  3. ----函数句柄/时间表
  4. ThinkpadT470接通电源开机显示电量0%充不进电且电源指示灯不亮的解决办法
  5. codeblocks报错Process terminated with status -1073741510 (0 minute(s), 3 second(s))
  6. OpenGL加载2D的草地
  7. centos7 卸载 jdk
  8. SSM框架及例子(转)
  9. Python快速生成注释文档
  10. js文件/图片从电脑里面拖拽到浏览器上传文件/图片