您好、欢迎来到现金彩票网!
当前位置:平安彩票 > 访问冲突 >

C00005: 读取位置 0xCCCC 时发生访问冲突

发布时间:2019-05-01 15:35 来源:未知 编辑:admin

  原应用程序使用VS2008(中文专业版)编译运行,正常使用。现为升级开发环境,使用VS2013(中文专业版)编译运行,编译通过,但是运行提示错误,调试出现错误信息:0x0FF008D8(msvcr12...

  原应用程序使用VS2008(中文专业版)编译运行,正常使用。现为升级开发环境,使用VS2013(中文专业版)编译运行,编译通过,但是运行提示错误,调试出现错误信息:0x0FF008D8 (msvcr120d.dll) (XXX.exe 中)处有未经处理的异常: 0xC0000005: 读取位置 0xCCCCCCCC 时发生访问冲突。程序本身应该没什么问题,毕竟VS2008编译正常运行多年,无此类问题,现在使用VS2013编译通过运行无法正常使用,可能由于环境或参数设置问题,但是由于自身能力有限,特此网上求教各路大神~

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部不知道你是编写C++还是C#程序,也没有出错位置源代码,因此无法确认具体错误细节,但是从出错信息看,程序访问的对象为无效地址。

  如果是C++应该是访问了非法指针,也就是野指针,指针没初始化,并且没有进行指针有效性判断。如果是C#,应该是访问的对象为null,没创建对象。

  其实两者实质都是一样,因为编译器对于没有初始化的变量,每个字节都会自动填充0xCC,这是机器语言中的中断指令,为的就是阻止非法访问。

  用查找工具查找所有指针定义和对象定义。更多追问追答追问谢谢指导,此程序是C++代码,没有放上代码主要是关联程序和动态库较多,至于您说的可能是野指针的情况,这个我从网上也查询过,只是VS2008编译运行且一直正常,由此可见应该不是代码本身出错,毕竟如果真是访问野指针等程序本身错误的线就算编译通过,也不可能一直运行没问题,这个问题也只是在VS2013编译通过后,运行出错,调试时才发现的问题报错问题~追答

  不要相信编译器,不同编译器自动处理不同(隐含转换/处理),代码肯定存在BUG。只是之前的编译器编译结果不同没有触发而已,这种问题最难查,所以涉及到指针和引用,要养成好习惯,我在编写C++时,无论什么情况,遇到可能存在内存泄露的地方都必须显式处理(new 创建的内存块),养成如下习惯:

http://arismarketing.net/fangwenchongtu/48.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有