日期:2014-05-18  浏览次数:20696 次

一个超难的问题,希望有经验的高手能帮忙.

程序运行时DEBUG输出
"carlistener.exe   中的   0x0436b5ac   处最可能的异常:   0xC0000005:   读取位置   0x06f0a06c   时发生访问冲突. "

我在网上搜索了好多相类似的问题帖子,都是与0xC0000005这个内存位置相关,但大部分回复都说数组越界和指针越界的简单回复,   但都没有得到很好的解决的,
我现在的程序应该说是相当的简单,几乎不可能是如此简单的问题所导致,
  我想既然0xC0000005:   出现的频率这么高,是不是有其他的原因呢?
期望有经验的朋友能给予解答.谢谢.

------解决方案--------------------
通常的原因:内存错误(数据不能使用分页文件交换到磁盘中).
试试以下方法:卸掉所有的新近安装的硬件.
运行由计算机制造商提供的所有系统诊断软件.尤其是内存检查.
检查是否正确安装了所有新硬件或软件,如果这是一次全新安装,请与硬件或软件制造商联系,获得可能需要的任何Windows更新或驱动程序.
禁用或卸载所有的反病毒程序.
禁用BIOS内存选项,例如cache或shadow
------解决方案--------------------
可以做一个简单点的程序,来看看是否还会出错
------解决方案--------------------
不用那么严重吧 应该是程序访问了 Windows系统保护机制不让用户访问的内存地址了?
------解决方案--------------------
试图用空指针访问资源都报这个错

指针占4个字节,所有错在第5个字节上。
------解决方案--------------------
看看哪里是不是修改或删除了不改动的对象,这种错误最恶心了,C++中常见