"0x00000004"指令引用的"0x00000004"内存.该内存不能为"read"

有时候我的电脑会弹出这个对话匡,想知道是什么原因?

内存指令不能read,这是在电脑使用中经常出现的问题,内存是主板上的存储部件,是CPU直接与之沟通,并用其存放当前正在使用的(即执行中)的数据和命令的重要部件。当你用键盘或鼠标输入某个命令后,CPU就会解释命令并将指令或程式载入到内存中,这样程序才能够被执行。而一旦内存发生问题了,程序就不能被执行,因此就产生了前面我们提到的“该内存不能为read或written”错误的警告。当然,出现了“该内存不能为read或written”的故障也不一定都是内存的问题,电脑中了病毒或木马以及运行的程序本身的Bug也会造成这种现象。很难分清究竟是什么原因造成的,一时半会不好排除,但没关系,按确定、取消,重启,即可。感兴趣的网友可用下述办法试着去解决: 1、打开的程序太多,如果同时打开的文档过多或者运行的程序过多,没有足够的内存运行其他程序,要随时关闭不用的程序和窗口。 2、自动运行的程序太多,关闭一些启动程序, 开始-运行-Msconfig---启动 ,除杀毒软件、输入法外一般的程序都可以关掉。 3、物理内存过小,加大婚理内存;内存和主板没插好或其他硬件不兼容 重插内存或换个插槽 ;双内存不兼容 ,要使用同品牌的内存或只要一条内存 ;劣质内存条或内存条坏了 更换内存条;合理设置虚拟内存。 4、市电电压过大的波动,或者PC机上使用劣质电源,都会给内存带来损害,更换功率大、质量好的电源。 5、PC机箱内充满灰尘,或者PC工作环境相对潮湿,也会造成运行不正常。及时除尘。 6、CPU、显卡散热问题 ,改善散热 。 7、硬盘有问题 ,扫描修复或更换硬盘 。 8 、驱动问题 重装更新驱动 。 9、非法操作,系统无法执行。 10、 软件损坏 重装软件 ;软件有BUG 打补丁或更新到最新版本 ; 软件和系统不兼容 给软件打上补丁或是试试系统的兼容模式 ; 软件和软件之间有冲突 如果最近安装了什么新软件,卸载了试试 。 11、 系统本身有问题 有时候操作系统本身也会有BUG,要注意安装官方发行的更新程序最好及时补上,必要时重装系统。 12、 病毒问题 杀毒 ;杀毒软件与系统或软件相冲突 由于杀毒软件是进入底层监控系统的,可能与一些软件相冲突,卸载试试 13、试打开CMD窗口输入如下命令: for %i in (%windir%\system32\*.dll) do regsvr32.exe /s %i 回车 for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回车 重启。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-06-27
出现这种情况的主要原因还是在软件上。简单的说是升序越界访问不属于自己的内存造成的。 一个原因是因为软件自身逻辑缺乏严密性,假设有这样一种软件:用于管理100个人的通信录,有些程序会采用静态内存分配的方式,它会在启动时向操作系统申请一块刚好能存放100个人的名单的内存区,此时如果你试图访问第101个的话,如果这个软件缺乏验证机制,就会去访问本来不属于自己的内存区域,由于操作系统的内存保护机制,将会终止这个程序的运行。当然这样简单的程序都能在编程的时候轻而易举的避免的,但有的程序其逻辑关系是非常复杂的,很难做到万无一失。 还有一个原因就是软件的兼容性,主要发生在版本较新的软件调用版本较老的动态连接库或公用控件时。 因为程序调用要向控件传入一些参数。比如这次调用需要传入3个参数,而较老版本的控件只能接受2个参数时,也会发生内存越界访问的情况,导致程序被终止。从而弹出你所看到的那个对话框。本回答被提问者采纳
相似回答