解决XXXX指令引用的XXXX内存,该内存不能为read 的方法
内存不能为“read”或“written”的解决方案
![内存不能为“read”或“written”的解决方案](https://img.taocdn.com/s3/m/2355e77b168884868762d64a.png)
内存不能为“read”或“written”的解决方案有些人运行飚车程序的时候会弹出该内存不能为“read”的错误提示。
希望以下文章能对大家有所帮助。
使用Windows操作系统的人有时会遇到这样的错误信息,运行某些程序的时候,有时会出现内存错误的提示,然后该程序会自动关闭或点击后关闭,严重的会无法关闭。
“0x????????”指令引用的“0x????????”内存。
该内存不能为“read”。
“0x????????”指令引用的“0x????????”内存,该内存不能为“written”。
不知你出现过类似这样的故障吗?(0x后面内容有可能不一样。
)散一般出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。
1、微软IE缓冲溢出漏洞引起2、内存或虚拟内存地址使用冲突造成程序的运行需要分配一定的内存地址给程序使用,当程序结束时释放留出空间让给新的程序使用,win是多任务的系统有时前程序未结束又有新的任务开始到底要多少内存或虚拟内存来保证我们同时运行的工作任务呢?也许win在这个问题上没弄好,所以有此错误常常发生,一般运行大型软件或多媒体后出现这种情况3、劣质内存条也会出现这个问题一般来说,内存出现问题的可能性并不大,主要方面是:内存条坏了、内存质量有问题,还有就是2个不同牌子不同容量的内存混插,也比较容易出现不兼容的情况,同时还要注意散热问题,特别是超频后。
你可以使用MemTest这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。
假如你是双内存,而且是不同品牌的内存条混插或者买了二手内存时,出现这个问题,这时,你就要检查是不是内存出问题了或者和其它硬件不兼容。
4、微软WINDOWS系统的漏洞,windows把内存地址0X00000000到0X0000ffff指定为分配null指针的地址范围,如果程序试图访问这一地址,则认为是错误。
c/c++编写的程序通常不进行严格的错误检查,当采用malloc来分配内存而可供分配的地址空间不够的情况下返回null指针。
内存不能为read怎么解决_原因及解决方法
![内存不能为read怎么解决_原因及解决方法](https://img.taocdn.com/s3/m/c43171db710abb68a98271fe910ef12d2af9a90a.png)
内存不能为read怎么解决_原因及解决方法一般来说,内存出现问题的可能*并不大,接下来是小编为大家收集整理的内存不能为read怎么解决,赶紧学习起来吧!出现/原因:1驱动程序不稳定,或者与*作系统、计算机硬件不兼容,极易引发内存不能为read错误;(由于开发者水平差异较大,个别rp和技术都很差的程序员也开始写驱动程序了,小则引起“内存不能为read”,大则引发机器蓝屏,最后还把责任推卸给别人。
)蓝屏代码:d805ab914ba4fef0ba3473226e713e6a.2不小心安装了流氓软件或ie流氓*件;3正在加载的程序与已经运行的发生冲突,如有的杀毒软件实时*程序,会和其它杀毒软件争夺系统控制权,导致内存不能为read;4计算机感染了病毒;5玩游戏时出现内存不能为read,则是因为显卡驱动不匹配;6夏天时硬件过热,散热不好,导致内存故障,不能为read;7内存条与主板兼容*问题,导致内存不能为read。
步骤/方法1首先我们打开开始菜单-运行cmd命令行,cmd窗口中输入cmd。
2在命令行中输入:for%1in(%windir%system32*.dll)doregsvr32.exe/s%1,在这里我们可以先将此命令复制,然后利用cmd命令编辑的粘贴到命令行中,然后点击回车,这时候需要等一段时间。
如下图所示:利用粘贴功能将拷贝的代码粘贴到编辑器上【小技巧】如果怕输入错误的话,可以复制这条指令,然后在命令提示框点击左上角的c:,使用下面的“编辑-粘贴”功能就不容易输错了。
在飞速滚屏完全静止之后,别着急启动其他程序,先耐心等一会儿,因为此时dll们还在找位置。
直到你的指示灯不闪了再做别的。
3然后点击回车,这时候需要等一段时间,如下图所示:【小提示】输入正确的话会看到飞快地滚屏否则……否则....失败就是没这效果。
回车后慢慢等(需要点时间1-2分钟)都运行完再打开看。
4还有一种情况就是:一般来讲就是给系统打上补丁和更换内存、给内存换个*槽这3种方法来解决。
开机显示内存不能为read的解决方法
![开机显示内存不能为read的解决方法](https://img.taocdn.com/s3/m/7dd80ab8ed3a87c24028915f804d2b160a4e8642.png)
开机显示内存不能为read的解决方法解决开机显示内存不能为read的方法在使用电脑时,有时候可能会遇到开机显示内存不能为read的问题。
这个问题通常是由于软件或驱动程序的冲突导致的。
下面将介绍一些解决这个问题的方法。
方法一:升级驱动程序驱动程序是操作系统与硬件之间的桥梁,如果驱动程序不兼容或过时,就可能导致内存不能为read的问题。
因此,我们可以尝试升级驱动程序来解决这个问题。
首先,我们可以通过访问硬件制造商的官方网站,下载最新的驱动程序。
然后,打开设备管理器,找到相关的设备,右键点击并选择“更新驱动程序软件”。
接下来,选择“浏览计算机以查找驱动程序软件”,然后选择下载的驱动程序进行安装。
完成后,重新启动电脑,看看问题是否解决。
方法二:禁用冲突的软件有时候,某些软件可能与操作系统或其他软件冲突,导致内存不能为read的问题。
为了解决这个问题,我们可以尝试禁用冲突的软件。
首先,我们可以通过打开任务管理器,点击“启动”选项卡,找到可能引起冲突的软件,右键点击并选择“禁用”。
接下来,重新启动电脑,看看问题是否解决。
如果问题解决了,那么我们可以考虑升级或替换这些软件,以确保它们与操作系统兼容。
方法三:检查硬件问题除了软件问题,硬件问题也可能导致内存不能为read的问题。
我们可以尝试检查硬件是否正常工作。
首先,我们可以打开电脑机箱,检查内存条是否插入正确并紧固。
如果内存条松动或插入不正确,就可能导致内存不能为read的问题。
此外,我们还可以使用内存测试工具来测试内存的健康状况。
这些工具可以帮助我们检测出可能存在的内存问题。
如果发现内存存在问题,我们可以考虑更换或修复内存。
方法四:运行系统文件检查工具有时候,系统文件的损坏或缺失也可能导致内存不能为read的问题。
为了解决这个问题,我们可以运行系统文件检查工具来修复系统文件。
首先,我们可以打开命令提示符,输入“sfc /scannow”命令,并按下回车键。
然后,系统文件检查工具会开始扫描并修复系统文件。
,“0xxxxxxx 指令引用 0xxxxxxx 内存,该内存不能为read”
![,“0xxxxxxx 指令引用 0xxxxxxx 内存,该内存不能为read”](https://img.taocdn.com/s3/m/df644363783e0912a2162a50.png)
出现,“0xxxxxxx 指令引用0xxxxxxx 内存,该内存不能为read”的错误提示,一般是软硬件发生冲突引起的,只要不经常发生,就不要理会,我们点击“内存不能为”错误提示框右上角的叉子关闭即可.如果经常出现错误提示,可按下面的方法进行检修。
一、软件方面的原因1、系统文件被更改或损坏,导致系统运行时无法找到系统文件。
2、文件版本不匹配,导致文件无法正常运行。
3、系统感染病毒,导致程序软件损坏或系统文件损坏,在运行程序或系统时发生错误。
4、Windows的应用程序或与Windows兼容性不好的应用程序。
5、使用未经测试的程序可能存在BUG,导致运行此程序时发生“内存不能为”故障。
6、驱动未正确安装,导致系统在使用错误驱动的硬件设备时,无法正确调用此设备而发生“内存不能为”故障。
7、内存冲突,导致存取数据文件发生错误,出现“内存不能为”故障。
二、硬件方面的原因1、CPU工作温度过高,导致电脑运行不稳定,出现“内存不能为”故障。
2、硬件设备接触不良,导致设备无法正常工作,而出现“内存不能为”故障。
3、硬件设备老化或不兼容。
4、硬件的质量问题,如果硬件设备质量低劣,当把系统设置到性能最佳时,可能会莫名其妙地出现“内存不能为”故障。
三、检修在电脑出现“内存不能为read”故障后,可按下面的步骤进行检修。
1、首先排除应用软件原因引起的故障,将出现“内存不能为”提示的应用软件卸载,然后观察是否还出现“内存不能为”故障。
如果不出现“内存不能为”故障,则说明是此应用软件引起的故障,接下来可以重新安装此应用软件或安装新版的应用程序软件。
2、同时运行多款的应用程序软件,也可以造成系统资源紧张,出现错误提示。
不要同时运行多款的应用程序软件,先将杀毒软件的监控关闭,(监控功能特别占据系统资源)杀毒时不要运行其它应用程序软件。
3、打开或关闭IE如果出现以上错误提示,可能是IE中有不兼容的插件,可用超级兔子软件或其它优化软件对IE进行修复,或自已将出事前下载的插件设为禁用即可。
该内存不能为“read”解决方案
![该内存不能为“read”解决方案](https://img.taocdn.com/s3/m/28a709593b3567ec102d8af6.png)
使用Windows操作系统的人有时会遇到这样的错误信息,运行某些程序的时候,有时会出现内存错误的提示,然后该程序会自动关闭或点击后关闭,严重的会无法关闭。
“0x ”指令引用的“0x ”内存。
该内存不能为“read”。
“0x ”指令引用的“0x ”内存,该内存不能为“written”。
不知你出现过类似这样的故障吗?(0x后面内容有可能不一样。
)散一般出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。
1、微软IE缓冲溢出漏洞引起2、内存或虚拟内存地址使用冲突造成程序的运行需要分配一定的内存地址给程序使用,当程序结束时释放留出空间让给新的程序使用,win是多任务的系统有时前程序未结束又有新的任务开始到底要多少内存或虚拟内存来保证我们同时运行的工作任务呢也许win在这个问题上没弄好,所以有此错误常常发生,一般运行大型软件或多媒体后出现这种情况3、劣质内存条也会出现这个问题一般来说,内存出现问题的可能性并不大,主要方面是:内存条坏了、内存质量有问题,还有就是2个不同牌子不同容量的内存混插,也比较容易出现不兼容的情况,同时还要注意散热问题,特别是超频后。
你可以使用MemTest这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。
假如你是双内存,而且是不同品牌的内存条混插或者买了二手内存时,出现这个问题,这时,你就要检查是不是内存出问题了或者和其它硬件不兼容。
4、微软WINDOWS系统的漏洞,windows把内存地址0X00000000到0X0000ffff指定为分配null指针的地址范围,如果程序试图访问这一地址,则认为是错误。
c/c++编写的程序通常不进行严格的错误检查,当采用malloc来分配内存而可供分配的地址空间不够的情况下返回null指针。
但是代码不检查这种错误,认为地址分配已经成功,于是就访问0X00000000的地址,于是就发生内存违规访问,同时该进程被终止。
解决XXXX指令引用的XXXX内存,该内存不能为read 的方法
![解决XXXX指令引用的XXXX内存,该内存不能为read 的方法](https://img.taocdn.com/s3/m/153f61c6d5bbfd0a795673fa.png)
解决"XXXX指令引用的XXXX内存,该内存不能为read" 的方法出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。
一:先说说硬件:一般来说,电脑硬件是很不容易坏的。
内存出现问题的可能性并不大(除非你的内存真的是杂牌的一塌徒地),主要方面是:1。
内存条坏了(二手内存情况居多)、2。
使用了有质量问题的内存,3。
内存插在主板上的金手指部分灰尘太多。
4。
使用不同品牌不同容量的内存,从而出现不兼容的情况。
5。
超频带来的散热问题。
你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。
二、如果都没有,那就从软件方面排除故障了。
先说原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在缓冲区,需要操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。
这就是“动态内存分配”,内存地址也就是编程中的“光标”。
内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。
当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的光标,而是系统向应用程序发出的一个通知,告知出现了错误。
作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。
若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用光标,继续在之后的执行中使用这块内存。
真正的0地址内存区储存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。
在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即当机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。
这时候,就会出现上述的内存不能为“read”错误,并指出被引用的内存地址为“0x00000000“。
解决XXXX指令引用的XXXX内存该内存不能为read的方法
![解决XXXX指令引用的XXXX内存该内存不能为read的方法](https://img.taocdn.com/s3/m/2fa60cbc0b4c2e3f56276341.png)
解决"XXXX指令引用的XXXX内存,该内存不能为read" 的方法出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。
一:先说说硬件:一般来说,电脑硬件是很不容易坏的。
内存出现问题的可能性并不大(除非你的内存真的是杂牌的一塌徒地),主要方面是:1。
内存条坏了(二手内存情况居多)、2。
使用了有质量问题的内存,3。
内存插在主板上的金手指部分灰尘太多。
4。
使用不同品牌不同容量的内存,从而出现不兼容的情况。
5。
超频带来的散热问题。
你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。
二、如果都没有,那就从软件方面排除故障了。
先说原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在缓冲区,需要操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。
这就是“动态内存分配”,内存地址也就是编程中的“光标”。
内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。
当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的光标,而是系统向应用程序发出的一个通知,告知出现了错误。
作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。
若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用光标,继续在之后的执行中使用这块内存。
真正的0地址内存区储存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。
在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即当机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。
这时候,就会出现上述的内存不能为“read”错误,并指出被引用的内存地址为“0x00000000“。
关于0x指令引用的0x内存,该内存不能为read
![关于0x指令引用的0x内存,该内存不能为read](https://img.taocdn.com/s3/m/5a756b395727a5e9856a613a.png)
先说原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在缓冲区,需要操作系帮你解决一切难题包括企业和个人一切的一切 /zhubrajie 现在==免费注册==(用你的姓名抢注)享受会员功能极力推荐。补充一下信息实名认证要用到身份证相片用手机照下来然后上传上去就行了,实名认证是对用户资料的真实性进行验证审核。保障用户的合法权益。。统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中的“光标”。内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的光标,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用光标,继续在之后的执行中使用这块内存。真正的0地址内存区储存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即当机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的内存不能为“read”错误,并指出被引用的内存地址为“0x00000000“。内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统档案之后。
如何解决指令引用内存不能为read的问题
![如何解决指令引用内存不能为read的问题](https://img.taocdn.com/s3/m/89f3d81a52d380eb62946da4.png)
如何解决指令引用内存不能为read的问题内存不能为read/written 问题的简单解决办法:(原创答案,欢迎分享→请活学活用→仅供参考):一、硬件的可能性是比较小的,如果是硬件,那就应该是内存条跟主机不兼容的问题导致的如果能排除硬件上的原因(内存条不兼容,更换内存)往下看:二、系统或其它软件引起的,可用下述方法处理:系统本身有问题,及时安装官方发行的补丁,必要时重装系统。
病毒问题:杀毒。
杀毒软件与其它软件冲突:卸载有问题的软件。
显卡、声卡驱动是否正确安装或者是否被恶意覆盖否?重新安装显卡声卡驱动。
1、使用系统自带的sfc命令,修复受到损坏的系统文件恢复到正常状态。
开始→运行→输入cmd,打开“命令提示符”窗口→输入字符串命令sfc/scannow→回车→耐心等待命令程序对每个系统文件搜索扫描→一旦发现系统文件的版本不正确或者系统文件已经损坏→它就能自动弹出提示界面→要求插入Windows系统的安装光盘→从中提取正常的系统文件来替代不正常的系统文件→达到修复系统文件的目的→最后重新启动计算机。
2、安装过的Domino这程序导致有问题,你可以在开始→运行→msconfig→启动项目→关闭Domino启动项→如果关闭不了→可以用卡卡助手之类的系统设置软件把它强行关掉→如果还是不行的→证明你系统中毒→那就重新安装系统彻底解决。
三、浏览器出现内存不能读、写的提示:1、运行→regedit→进入注册表, 在→HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\E xplorer\ShellExecuteHooks这个位置有一个正常的键值{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 将其他的删除。
2、打开CMD窗口输入如下命令:for %i in (%windir%\system32\*.dll) do regsvr32.exe /s %i 回车for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回车两条分别运行完成后重启机器。
内存不能为“read”的几个解决方案
![内存不能为“read”的几个解决方案](https://img.taocdn.com/s3/m/871dfed028ea81c758f5789b.png)
【文章一】使用Windows操作系统的人有时会遇到这样的错误信息:「“0X????????”指令引用的“0x00000000”内存,该内存不能为“read”或“written”」,然后应用程序被关闭。
如果去请教一些「高手」,得到的回答往往是「Windows就是这样不稳定」之类的义愤和不屑。
其实,这个错误并不一定是Windows不稳定造成的。
本文就来简单分析这种错误的一般原因。
一、应用程序没有检查内存分配失败程序需要一块内存用以储存数据时,就需要使用操作系统提供的「功能函数」来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。
这就是「动态内存分配」,内存地址也就是编程中的「光标」。
内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。
当分配失败时系统函数会返回一个0值,这时返回值「0」已不表示新启用的游标,而是系统向应用程序发出的一个通知,告知出现了错误。
作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的「健壮性」。
若应用程序没有检查这个错误,它就会按照「思维惯性」认为这个值是给它分配的可用游标,继续在之后的执行中使用这块内存。
真正的0地址内存区储存的是计算机系统中最重要的「中断描述符表」,绝对不允许应用程序使用。
在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即当机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。
这时候,就会出现上述的「写内存」错误,并指出被引用的内存地址为「0x00000000」。
内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。
因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中「安装」的病毒程序),更改了大量的系统参数和系统档案之后。
电脑指令引用的内存不能为read怎么处理
![电脑指令引用的内存不能为read怎么处理](https://img.taocdn.com/s3/m/947ee2cefbb069dc5022aaea998fcc22bcd14315.png)
电脑指令引用的内存不能为read怎么处理
内存指令不能read或written,这是在电脑使用中经常出现的问题,内存是主板上的存储部件,是CPU直接与之沟通,并用其存放当前正在使用的(即执行中)的数据和命令的重要部件。
下面是店铺给大家整理的一些有关电脑指令引用的内存不能为read的解决方法,希望对大家有帮助!
电脑指令引用的内存不能为read的解决方法
配置错误!【重启,出完电脑品牌后,按F8,安全模式,最后一次正确配置,回车,回车】!
系统漏洞!【360安全卫士或金山卫士,或可牛免费杀毒,修复:高危和重要的,其它忽略】!
软件冲突!【卸载不常用的软件,保持系统稳定,尤其是同类型的软件,不兼容】!
软件版本过旧!【使用:(驱动人生),更新:显卡驱动,声卡驱动!其它软件,覆盖安装】!病毒木马!【杀毒软件,全盘扫描与自定义扫描,完毕后,隔离区,彻底删除】!
恶评插件!【可牛免费杀毒,金山卫士,或360安全卫士,清理恶评插件】!
可疑启动项!【360系统急救箱,开始急救,文件恢复区,彻底删除文件】!系统文件损坏!【金山急救箱】,扩展扫描,立即扫描,立即处理,重启电脑】!专业工具!【去网上下载一个:read修复工具,修复,试试】!指令修复法!开始菜单,运行,输入cmd,回车,在命令提示符下输入(复制即可) :for %1 in (%windir%\system32\*.ocx) do regsvr32 /s %1粘贴,回车,滚动完毕后,再输入:for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1回车!直到屏幕滚动停止为止,重启电脑!。
电脑出现XX指令XX内存XXX不能read的原因和解决方法
![电脑出现XX指令XX内存XXX不能read的原因和解决方法](https://img.taocdn.com/s3/m/a4049a51be23482fb4da4ce2.png)
解答:
像电脑出现XX指令XX内存XXX不能读,本人总结这类问题的原因如下:
1、大多数是浏览器问题和中毒了
2、其次才是内存有灰尘或损坏。
3、安装软件冲突,软件不兼容。
4、检查驱动问题
5、系统本身问题
针对以上原因,特给出解决方法如下:
第一步直接用批处理命令工具解决。
这个工具是专门针对XX指令XX内存XXX不能读的问题,80%以上的问题都能解决,不能解决就按下面的操作进行。
链接:/s/1stoSM 密码:qe6y
第二步你的是IE浏览器的话,先升级浏览器,或者一般人的想法是修复浏览器,不过修复的情况不怎么好,亲自经历过的,那就是换个浏览器,360安全浏览器,猎豹浏览器等。
第三步先系统修复和漏洞修复下,或者直接用360急救箱
第四步用杀毒软件杀毒,建议使用ESET,小红伞,卡巴,其中小红伞和avast免费等。
第五步软件问题的解决方法:卸载当前出现问题的软件重新安装或更换更高级的版本,或者换同类型同功能的其他软件。
禁用不经常使用软件的启动项,禁用同类型同功能软件,比如360和金山,2个一起往往会出问题,不是电脑变卡,就是开机出问题。
第六步驱动问题:重新安装驱动或及时更新驱动,推荐2013万能驱动精灵和到官方下载与本机型号对应的驱动。
第七步如果你使用的是非正版系统或ghost 系统,有些系统本身有问题,请还原或更换系统,最好是正版。
可以查看电脑时间是否准确。
第八步硬件问题:主要是内存,用橡皮擦内存卡的金手指,安装回去并扣紧,如果灰尘多建议先全部清理各硬件上的灰尘
飞浪客露德。
内存不能为read的解决方案
![内存不能为read的解决方案](https://img.taocdn.com/s3/m/a4c90ad8ce2f0066f53322ce.png)
相信不少兄弟都遇到过该内存不能为“read”的错误提示(例如在SP2下运行以前的传奇霸主外挂)。
希望以下文章能对大家有所帮助。
运行某些程序的时候,有时会出现内存错误的提示,然后该程序就关闭。
“0x????????”指令引用的“0x????????”内存。
该内存不能为“read”。
“0x????????”指令引用的“0x????????”内存,该内存不能为“written”。
以上的情况相信大家都应该见到过,甚至说一些网友因为不爽于这个经常出现的错误提示而屡次重装系统。
相信普通用户应该不会理解那些复杂的十六进制代码。
出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。
一:先说说硬件:一般来说,电脑硬件是很不容易坏的。
内存出现问题的可能性并不大(除非你的内存真的是杂牌的一塌徒地),主要方面是:1。
内存条坏了(二手内存情况居多)、2。
使用了有质量问题的内存,3。
内存插在主板上的金手指部分灰尘太多。
4。
使用不同品牌不同容量的内存,从而出现不兼容的情况。
5。
超频带来的散热问题。
你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。
二、如果都没有,那就从软件方面排除故障了。
先说原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在缓冲区,需要操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。
这就是“动态内存分配”,内存地址也就是编程中的“光标”。
内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。
当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的光标,而是系统向应用程序发出的一个通知,告知出现了错误。
作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。
若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用光标,继续在之后的执行中使用这块内存。
开机显示内存不能为read的解决方法
![开机显示内存不能为read的解决方法](https://img.taocdn.com/s3/m/1c61defdba4cf7ec4afe04a1b0717fd5360cb2dd.png)
开机显示内存不能为read的解决方法解决开机显示内存不能为read的方法在使用电脑的过程中,有时候我们可能会遇到开机时显示"内存不能为read"的问题。
这个问题可能会导致电脑无法正常启动,给我们的使用带来不便。
那么,我们该如何解决这个问题呢?下面将介绍几种常见的解决方法。
方法一:重新插拔内存条我们可以尝试重新插拔电脑内存条。
有时候内存条可能松动或接触不良,导致出现这个问题。
我们可以先将电脑关机,并拔掉电源线。
然后打开电脑主机箱,找到内存条所在的插槽。
将内存条轻轻拔出,再重新插入插槽中。
确保内存条插紧,并且接触良好。
最后,重新连接电源线,开机看看问题是否解决。
方法二:更换内存条槽位如果重新插拔内存条后问题仍然存在,我们可以尝试将内存条插入不同的槽位。
有时候某个槽位可能出现问题,导致内存不能被正常读取。
我们可以将内存条从原来的槽位拔出,然后插入另一个可用的槽位中。
再次开机测试,看看问题是否得到解决。
方法三:清理内存条和插槽内存条和插槽中可能会积累灰尘或者污垢,导致接触不良。
所以,我们可以尝试清理内存条和插槽,看看是否能够解决问题。
首先,我们可以使用刷子或者小吸尘器等工具清理内存条和插槽表面的灰尘。
然后,可以使用酒精棉球擦拭内存条和插槽金手指部分,确保其良好的接触。
最后,再次将内存条插回插槽中,重新开机测试。
方法四:更换新的内存条如果以上方法都没有解决问题,那么可能是内存条本身出现了故障。
在这种情况下,我们可以考虑更换一块新的内存条。
首先,需要确定内存条的型号和参数,以便购买适配的内存条。
然后,将故障的内存条取下,插入新的内存条。
最后,重新开机测试,看看问题是否得到解决。
总结:开机显示"内存不能为read"的问题可能是由于内存条接触不良或者内存条本身故障所导致。
我们可以尝试重新插拔内存条、更换内存条槽位、清理内存条和插槽,或者更换新的内存条来解决这个问题。
如果以上方法都没有效果,那么可能是其他硬件故障或者软件问题导致的,建议联系专业人士进行进一步的排查和修复。
系统出现该内存不能为read--的解决方法+命令修补和升级
![系统出现该内存不能为read--的解决方法+命令修补和升级](https://img.taocdn.com/s3/m/b798c3c0d5bbfd0a79567364.png)
1、 开始-运行窗口,输入“regsvr32 actxprxy.dll”回车,接着会出现一个信息对话 框“DllRegisterServer in actxprxy.dll succeeded”,确定。再依次运行以下命令。(这个方法有人说没必要,但重新注册一下那些.dll对系统也没有坏处,反正多方下手,能解决问题就行。)
regsvr32 shdocvw.dll
regsvr32 oleaut32.dll
regsvr32 actxprxy.dll
Байду номын сангаас
regsvr32 mshtml.dll
regsvr32 msjava.dll
regsvr32 browseui.dll
regsvr32 urlmon.dll
出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。
一:先说说硬件:
一般来说,电脑硬件是很不容易坏的。内存出现问题的可能性并不大(除非你的内存真的是杂牌的一塌徒地),主要方面是:1。内存条坏了(二手内存情况居多)、2。使用了有质量问题的内存,3。内存插在主板上的金手指部分灰尘太多。4。使用不同品牌不同容量的内存,从而出现不兼容的情况。5。超频带来的散热问题。你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。
例五:我的豪杰超级解霸自从上网后就不能播放了,每次都提示“0x060692f6”(每次变化)指令引用的“0xff000011”内存不能为“read”,终止程序请按确定。 解决方法:试试重装豪杰超级解霸,如果重装后还会,到官方网站下载相应版本的补丁试试。还不行,只好换就用别的播放器试试了。
例六:双击一个游戏的快捷方式,“0x77f5cd0”指令引用“0xffffffff”内 存,该内存不能为“read” ,并且提示Client.dat程序错误。解决方法:重装显卡的最新驱动程序,然后下载并且安装DirectX9.0。
0x5f402190指令引用的0x000000a4 内存。该内存不能为read
![0x5f402190指令引用的0x000000a4 内存。该内存不能为read](https://img.taocdn.com/s3/m/484b546d4a73f242336c1eb91a37f111f1850d2a.png)
0x5f402190指令引用的0x000000a4 内存。
该
内存不能为read
这个错误信息涉及到内存读取权限问题,通常发生在程序试图读取没有读取权限的内存地址上。
错误信息表明在指令地址0x5f402190 处引用了内存地址0x000000a4,但该内存地址不具备读取权限,因此导致错误。
解决此问题的方法可能涉及以下步骤:
1. 检查指令和内存地址:仔细检查程序代码和相关的指令,确保没有引用无效的内存地址。
2. 空指针检查:如果涉及到指针,确保在使用指针之前进行了有效性检查,避免使用空指针。
3. 内存越界检查:确保数组和缓冲区的访问不会越界,避免读取或写入超出数组边界的内存。
4. 权限问题:检查程序是否有足够的权限来读取指定的内存地址。
可能是由于程序正在尝试读取操作系统或其他进程的内存而导致权限问题。
5. 使用工具进行调试:使用调试工具,例如gdb(GNU Debugger)等,来定位错误的具体位置,并检查程序的状态、变量值等。
6. 查看错误日志:如果有错误日志或堆栈跟踪信息,仔细阅读以获取更多的上下文信息,有助于确定问题的根本原因。
这只是一些可能的解决方向,具体的解决方法取决于程序的具体情况和代码实现。
如果你能提供更多上下文信息或相关代码片段,我可能能够提供更具体的帮助。
“0xxxxxxx指令引用0xxxxxxx内存该内存不能为read”
![“0xxxxxxx指令引用0xxxxxxx内存该内存不能为read”](https://img.taocdn.com/s3/m/076e15ecfbb069dc5022aaea998fcc22bcd14347.png)
出现,“0xxxxx xx 指令引用 0xxxxx xx 内存,该内存不能为read”的错误提示,一般是软硬件发生冲突引起的,只要不经常发生,就不要理会,我们点击“内存不能为”错误提示框右上角的叉子关闭即可.如果经常出现错误提示,可按下面的方法进行检修。
一、软件方面的原因1、系统文件被更改或损坏,导致系统运行时无法找到系统文件。
2、文件版本不匹配,导致文件无法正常运行。
3、系统感染病毒,导致程序软件损坏或系统文件损坏,在运行程序或系统时发生错误。
4、Window s的应用程序或与Wi ndows兼容性不好的应用程序。
5、使用未经测试的程序可能存在BUG,导致运行此程序时发生“内存不能为”故障。
6、驱动未正确安装,导致系统在使用错误驱动的硬件设备时,无法正确调用此设备而发生“内存不能为”故障。
7、内存冲突,导致存取数据文件发生错误,出现“内存不能为”故障。
二、硬件方面的原因1、CPU工作温度过高,导致电脑运行不稳定,出现“内存不能为”故障。
2、硬件设备接触不良,导致设备无法正常工作,而出现“内存不能为”故障。
3、硬件设备老化或不兼容。
4、硬件的质量问题,如果硬件设备质量低劣,当把系统设置到性能最佳时,可能会莫名其妙地出现“内存不能为”故障。
三、检修在电脑出现“内存不能为r ead”故障后,可按下面的步骤进行检修。
1、首先排除应用软件原因引起的故障,将出现“内存不能为”提示的应用软件卸载,然后观察是否还出现“内存不能为”故障。
如果不出现“内存不能为”故障,则说明是此应用软件引起的故障,接下来可以重新安装此应用软件或安装新版的应用程序软件。
2、同时运行多款的应用程序软件,也可以造成系统资源紧张,出现错误提示。
不要同时运行多款的应用程序软件,先将杀毒软件的监控关闭,(监控功能特别占据系统资源)杀毒时不要运行其它应用程序软件。
解决内存不能为written故障
![解决内存不能为written故障](https://img.taocdn.com/s3/m/d19f916d25c52cc58bd6bee3.png)
(3)有些系统补丁下载安装了错误补丁,可能与您当前的系统或其它软件发生冲突,也会出现该问题。卸载该补丁,找到适合您电脑补丁,重新下载重新安装。
(4)当下载安装或打开运行播放器、游戏、QQ等第三方软件,出现该问题时。可能是您下载的软件存在着危险,系统本身为了保护系统不受影响,也可能会出现该内存不能为“read”或“written”。一般的解决办法就是卸载该软件重新安装。如果不能解决,需要更换同类型其它版本的软件,或找到发生冲突的软件卸载它,问题才能解决。
【2】盗版系统或Ghost版本系统,系统文件错误或丢失,也会出现该问题,及时安装官方发行的补丁,{检查电脑年、月、日是否正确}。用360安全卫士或安装的其它软件进行系统修复,如果修复不能解决,重新安装系统。建议:最好安装【正版】系统或【完整版】系统。
【3】检查驱动是否出现问题,重新安装驱动或及时更新驱动。
如果怕输入错误,可以复制这两条指令,然后在命令提示符后击鼠标右键,打“粘贴”,回车,耐心等待,直到屏幕滚动停止为止。(重启电脑)。
●在检查运行regedit进入注册表, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks 下,应该只有一个正常的键值{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 将其他的删除。【如果还有一个(默认)值,不用管它,也不能删除,一般它为空。】必要时【还原】或重新安装系统。
【4】病毒引起的:升级杀毒软件或下载专杀工具,清理恶意插件,对电脑全盘杀毒。
顺便说一下Svchost.exe应用程序
0x00401ed3指令引用的0xffffffff内存该内存不能为read
![0x00401ed3指令引用的0xffffffff内存该内存不能为read](https://img.taocdn.com/s3/m/f0408feaf605cc1755270722192e453610665bf7.png)
内存不能为r ead/writte n 问题的简单解决办法:(原创答案,欢迎分享→请活学活用→仅供参考):一、硬件的可能性是比较小的,如果是硬件,那就应该是内存条跟主机不兼容的问题导致的如果能排除硬件上的原因(内存条不兼容,更换内存)往下看:二、系统或其它软件引起的,可用下述方法处理:系统本身有问题,及时安装官方发行的补丁,必要时重装系统。
病毒问题:杀毒。
杀毒软件与其它软件冲突:卸载有问题的软件。
显卡、声卡驱动是否正确安装或者是否被恶意覆盖否?重新安装显卡声卡驱动。
1、使用系统自带的sfc命令,修复受到损坏的系统文件恢复到正常状态。
开始→运行→输入cmd,打开“命令提示符”窗口→输入字符串命令sfc/scanno w→回车→耐心等待命令程序对每个系统文件搜索扫描→一旦发现系统文件的版本不正确或者系统文件已经损坏→它就能自动弹出提示界面→要求插入Wi ndows系统的安装光盘→从中提取正常的系统文件来替代不正常的系统文件→达到修复系统文件的目的→最后重新启动计算机。
2、安装过的Do mino这程序导致有问题,你可以在开始→运行→msconf ig→启动项目→关闭Domi no启动项→如果关闭不了→可以用卡卡助手之类的系统设置软件把它强行关掉→如果还是不行的→证明你系统中毒→那就重新安装系统彻底解决。
三、浏览器出现内存不能读、写的提示:1、运行→regedi t→进入注册表,在→HKEY_L OCAL_MACHI NE\SOFTWA RE\Micros oft\Window s\Curren tVers ion\E xplor er\ShellE xecut eHook s这个位置有一个正常的键值{AEB6717E-7E19-11d0-97EE-00C04F D91972},将其他的删除。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
解决"XXXX指令引用的XXXX内存,该内存不能为read" 的方法出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。
一:先说说硬件:一般来说,电脑硬件是很不容易坏的。
内存出现问题的可能性并不大(除非你的内存真的是杂牌的一塌徒地),主要方面是:1。
内存条坏了(二手内存情况居多)、2。
使用了有质量问题的内存,3。
内存插在主板上的金手指部分灰尘太多。
4。
使用不同品牌不同容量的内存,从而出现不兼容的情况。
5。
超频带来的散热问题。
你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。
二、如果都没有,那就从软件方面排除故障了。
先说原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在缓冲区,需要操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。
这就是“动态内存分配”,内存地址也就是编程中的“光标”。
内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。
当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的光标,而是系统向应用程序发出的一个通知,告知出现了错误。
作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。
若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用光标,继续在之后的执行中使用这块内存。
真正的0地址内存区储存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。
在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即当机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。
这时候,就会出现上述的内存不能为“read”错误,并指出被引用的内存地址为“0x00000000“。
内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。
因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统档案之后。
在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的光标已经失效了。
有可能是“忘记了”向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。
注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图“违法”的程序唯一的下场就是被操作终止执行,回收全部资源。
计算机世界的法律还是要比人类有效和严厉得多啊!像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。
无效光标不一定总是0,因此错误提示中的内存地址也不一定为“0x00000000”,而是其它随机数字。
首先建议:1、检查系统中是否有木马或病毒。
这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常。
平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。
2、更新操作系统,让操作系统的安装程序重新拷贝正确版本的系统档案、修正系统参数。
有时候操作系统本身也会有BUG,要注意安装官方发行的升级程序。
3、尽量使用最新正式版本的应用程序、Beta版、试用版都会有BUG。
4、删除然后重新创建 Winnt\System32\Wbem\Repository 文件夹中的文件:在桌面上右击我的电脑,然后单击管理。
在"服务和应用程序"下,单击服务,然后关闭并停止 Windows Management Instrumentation 服务。
删除 Winnt\System32\Wbem\Repository 文件夹中的所有文件。
(在删除前请创建这些文件的备份副本。
)打开"服务和应用程序",单击服务,然后打开并启动 Windows Management Instrumentation 服务。
当服务重新启动时,将基于以下注册表项中所提供的信息重新创建这些文件: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\Autorecover MOFs 下面搜集几个例子给大家分析:例一:IE浏览器出现“0x0a8ba9ef”指令引用的“0x03713644”内存,或者“0x70dcf39f”指令引用的“0x00000000”内存。
该内存不能为“read”。
要终止程序,请单击“确定”的信息框,单击“确定”后,又出现“发生内部错误,您正在使用的其中一个窗口即将关闭”的信息框,关闭该提示信息后,IE浏览器也被关闭。
解决方法:1、开始-运行窗口,输入“regsvr32 actxprxy.dll”回车,接着会出现一个信息对话框“DllRegisterServer in actxprxy.dll succeeded”,确定。
再依次运行以下命令。
(这个方法有人说没必要,但重新注册一下那些.dll对系统也没有坏处,反正多方下手,能解决问题就行。
)regsvr32 shdocvw.dllregsvr32 oleaut32.dllregsvr32 actxprxy.dllregsvr32 mshtml.dllregsvr32 msjava.dllregsvr32 browseui.dllregsvr32 urlmon.dll2、修复或升级IE浏览器,同时打上系统补丁。
看过其中一个修复方法是,把系统还原到系统初始的状态下。
建议将IE升级到了6.0。
例二:有些应用程序错误: “0x7cd64998”指令参考的“0x14c96730”内存。
该内存不能为“read”。
解决方法:Win XP的“预读取”技术这种最佳化技术也被用到了应用程序上,系统对每一个应用程序的前几次启动情况进行分析,然后新增一个描述套用需求的虚拟“内存映像”,并把这些信息储存到Windows\Prefetch文件夹。
一旦建立了映像,应用软件的装入速度大大提高。
XP的预读取数据储存了最近8次系统启动或应用软件启动的信息。
建议将虚拟内存撤换,删除Windows\Prefetch目录下所有*.PF文件,让windows重新收集程序的物理地址。
例三:在XP下双击光盘里面的“AutoRun.exe”文件,显示“0x77f745cc”指令引用的“0x00000078”内存。
该内存不能为“written”,要终止程序,请单击“确定”,而在Windows 98里运行却正常。
解决方法:这可能是系统的兼容性问题,winXP的系统,右键“AutoRun.exe”文件,属性,兼容性,把“用兼容模式运行这个程序”项选择上,并选择“Windows98/Me”。
win2000如果打了SP的补丁后,只要开始,运行,输入:regsvr32 c:\winnt\apppatch\slayerui.dll。
右键,属性,也会出现兼容性的选项。
例四:RealOne Gold关闭时出现错误,以前一直使用正常,最近却在每次关闭时出现“0xffffffff”指令引用的“0xffffffff”内存。
该内存不能为“read”的提示。
解决方法:当使用的输入法为微软拼音输入法2003,并且隐藏语言栏时(不隐藏时没问题)关闭RealOne就会出现这个问题,因此在关闭RealOne 之前可以显示语言栏或者将任意其他输入法作为当前输入法来解决这个问题。
例五:我的豪杰超级解霸自从上网后就不能播放了,每次都提示“0x060692f6”(每次变化)指令引用的“0xff000011”内存不能为“read”,终止程序请按确定。
解决方法:试试重装豪杰超级解霸,如果重装后还会,到官方网站下载相应版本的补丁试试。
还不行,只好换就用别的播放器试试了。
例六:双击一个游戏的快捷方式,“0x77f5cd0”指令引用“0xffffffff”内存,该内存不能为“read”,并且提示Client.dat程序错误。
解决方法:重装显卡的最新驱动程序,然后下载并且安装DirectX9.0。
例七:一个朋友发信息过来,我的电脑便出现了错误信息:“0x772b548f”指令引用的“0x00303033”内存,该内存不能为“written”,然后QQ自动下线,而再打开QQ,发现了他发过来的十几条的信息。
解决方法:这是对方利用QQ的BUG,发送特殊的代码,做QQ出错,只要打上补丁或升级到最新版本,就没事了。
该内存不能为read或written的解决方案关键词:该内存不能为"read" 该内存不能为"written" 从网上搜索来的几篇相关文章.【文章一】使用Windows操作系统的人有时会遇到这样的错误信息:「“0X????????”指令引用的“0x00000000”内存,该内存不能为“read”或“written”」,然后应用程序被关闭。
如果去请教一些「高手」,得到的回答往往是「Windows就是这样不稳定」之类的义愤和不屑。
其实,这个错误并不一定是Windows不稳定造成的。
本文就来简单分析这种错误的一般原因。
一、应用程序没有检查内存分配失败程序需要一块内存用以储存数据时,就需要使用操作系统提供的「功能函数」来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。
这就是「动态内存分配」,内存地址也就是编程中的「光标」。
内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。
当分配失败时系统函数会返回一个0值,这时返回值「0」已不表示新启用的游标,而是系统向应用程序发出的一个通知,告知出现了错误。
作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的「健壮性」。
若应用程序没有检查这个错误,它就会按照「思维惯性」认为这个值是给它分配的可用游标,继续在之后的执行中使用这块内存。
真正的0地址内存区储存的是计算机系统中最重要的「中断描述符表」,绝对不允许应用程序使用。
在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即当机,而在健壮的操作系统中,如 Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。
这时候,就会出现上述的「写内存」错误,并指出被引用的内存地址为「0x00000000」。
内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。