问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

内存不能为read`是什么病毒4

发布网友 发布时间:2024-02-10 12:24

我来回答

5个回答

热心网友 时间:2024-12-05 06:08

使用Windows操作系统的人有时会遇到这样的错误信息:“0x????????指令引用的0x00000000内存,该内存不能为read或written”,然后应用程序被关闭。如果去请教一些“高手”,得到的回答往往是“Windows就是这样不稳定”之类的义愤和不屑。其实,这个错误并不一定是Windows不稳定造成的,本文就来简单分析这种错误的常见原因。
一、应用程序没有检查内存分配失败
程序需要一块内存用以保存数据时,就需要调用操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中的“指针”。
内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的指针,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。
若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用指针,继续在之后的运行中使用这块内存。真正的0地址内存区保存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即死机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的“写内存”错误,并指出被引用的内存地址为“0x00000000”。
内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统文件之后。
二、应用程序由于自身BUG引用了不正常的内存指针
在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的指针已经失效了。有可能是“忘记了”向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图“违法”的程序唯一的下场就是被操作终止运行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊!
像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效指针不一定总是0,因此错误提示中的内存地址也不一定为“0x00000000”,而是其他随机数字。
如果系统经常有所提到的错误提示,下面的建议可能会有帮助:
1、查看系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。
2、更新操作系统,让操作系统的安装程序重新拷贝正确版本的系统文件、修正系统参数。有时候操作系统本身也会有BUG,要注意安装官方发行的升级程序。
3、试用新版本的应用程序。
这是程序错误引起的,你可以更改一下程序设置或者重新安装程序。
相信大家都应该见到过,甚至说一些网友因为不爽于这个经常出现的错误提示而屡次重装系统。相信象我们这些普通用户应该不会理解那些复杂的十六进制代码。那些只是供微软亚洲研究院的研究人员研究的(开个玩笑先) 。
三、软件还是硬件
运行某些程序的时候,有时会出现内存错误的提示,然后该程序就关闭。
“0x????????”指令引用的“0x????????”内存。该内存不能为“read”
“0x????????”指令引用的“0x????????”内存,该内存不能为“written”
不知你出现过类似这样的故障吗?(0x后面内容有可能不一样。)
大家仔细观察0x后面的内容,是不是每个人的错误代码都是不一样的呢?但他们的问题可能是同一个的。出现这个错误提示是有两方面的原因的,第一是硬件,即内存有问题,第二是软件,软件方面的问题就多了去了。
1、先说说硬件:
一般来说,电脑硬件是很不容易坏的。内存出现问题的可能性并不大(除非你的内存真的是杂牌的一塌徒地),主要方面是:
(1)内存条坏了(二手内存情况居多);
(2)使用了有质量问题的内存;
(3)内存插在主板上的金手指部分灰尘太多;
(4)使用不同品牌不同容量的内存,从而出现不兼容的情况;
(5)超频带来的散热问题;
你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。
假如你是双内存,而且是不同品牌的内存条混插或者买了二手内存时,出现这个问题,这时,你就要检查是不是内存出问题了或者和其它硬件不兼容。
2、如果所说的情况都没有,那末就要从软件方面解决问题了。
先简单说说原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在其一位置时,因为没有足够空间,就会发生溢出现象。举个例子:一个桶子只能将一斤的水,当你放入两斤的水进入时,就会溢出来。而系统则是在屏幕上表现出来。这个问题,经常出现在windows2000和XP系统上,Windows 2000/XP对硬件的要求是很苛刻的,一旦遇到资源死锁、溢出或者类似Windows 98里的非法操作,系统为保持稳定,就会出现上述情况。另外也可能是硬件设备之间的兼容性不好造成的。
同时由于系统在运行时要对一段内存进行保护,其他的用户程序无法访问内存,当用户程序非法读取这些内存空间时,也会出现这样的错误。
四、几个例子:
1、问:"0x0a8ba9ef"指令引用的"0x03713644" 内存,该内存不能为"read".要终止程序,请单击"确定"。
答:IE有错误,需要重置IE。
(1)在"开始"菜单中打开"运行"窗口,在其中输入"regsvr32 actxprxy.dll",然后"确定",接着会出现一个信息对话 框"DllRegisterServer in actxprxy.dll succeeded",再次点击"确定"。
(2)再次打开"运行"窗口,输入"regsvr32 shdocvw.dll
(3)再次打开"运行"窗口,输入"regsvr32 oleaut32.dll
(4)再次打开"运行"窗口,输入"regsvr32 actxprxy.dll
(5)再次打开"运行"窗口,输入"regsvr32 mshtml.dll
(6)再次打开"运行"窗口,输入"regsvr32 msjava.dll
(7)再次打开"运行"窗口,输入"regsvr32 browseui.dll
(8)再次打开"运行"窗口,输入"regsvr32 urlmon.dll
2、问"0x70dcf39f"指令引用的"0x00000000"内存。该内存不能为“read”。要终止程序,请单击“确定”。
答:关闭该提示信息后,IE浏览器也被关闭。解决方法:修复或升级IE浏览器,同时打上系统补丁。确定你的IE升级到了6.0。
3、问:RealOne Gold关闭时出现错误,以前一直使用正常,最近却在每次关闭时出现“0xffffffff”指令引用的“0xffffffff”内存。该内存不能为“read” 的提示。
答:当使用的输入法为微软拼音输入法2003,并且隐藏语言栏时(不隐藏时没问题)关闭RealOne就会出现这个问题,因此在关闭RealOne之前可以显示语言栏或者将任意其他输入法作为当前输入法来解决这个问题。
4、问:“Ox77f5cdO”指令引用“Oxffffffff”内 存,该内存不能为“read” ,要终止程序,请单击“确定”。
答:双击一个游戏的快捷方式,,并且提示Client.dat程序错误。解决方法:重装显卡的最新驱动程序,然后下载并且安装DirectX9.0。
5、问:“0x772b548f”指令引用的“0x00303033”内存,该内存不能为“written”,要终止程序,请单击“确定”。
答:QQ自动下线,当再打开QQ时,发现了发过来的十几条的信息。解决方法:这是对方利用QQ的BUG,发送特殊的代码,做QQ出错,只要打上补丁或升级到最新版本,就可以了。
6、问:打开IE浏览器或者没过几分钟就会出现"0x70dcf39f"指令引用的"0x00000000"内存。该内存不能为“read”。要终止程序,请单击“确定”的信息框,单击“确定”后,又出现“发生内部错误,您正在使用的其中一个窗口即将关闭”的信息框,关闭该提示信息后,IE浏览器也被关闭。
答:修复或升级IE浏览器,同时打上补丁。看过其中一个修复方法是,Win2000自升级,也就是Win2000升级到Win2000,其实这种方法也就是把系统还原到系统初始的状态下。比如你的IE升级到了6.0,自升级后,会被IE5.0代替。
7、问:在windows xp下双击光盘里面的“AutoRun.exe”文件,显示“0x77f745cc”指令引用的“0x00000078”内存。该内存不能为“written”,要终止程序,请单击“确定”,而在Windows 98里运行却正常。
答:这可能是系统的兼容性问题,winXP的系统,右键“AutoRun.exe”文件,属性,兼容性,把“用兼容模式运行这个程序”项选择上,并选择“Windows 98/Me”。win2000如果打了SP的补丁后,只要开始,运行,输入:regsvr32 c:\winnt\apppatch\slayerui.dll。右键,属性,也会出现兼容性的选项。
8、问:我的豪杰超级解霸自从上网后就不能播放了,每次都提示“0x060692f6”(每次变化)指令引用的“0xff000011”内存不能为“read”,终止程序请按确定。
答:试试重装豪杰超级解霸,如果重装后还会,到官方网站下载相应版本的补丁试试。还不行,只好换就用别的播放器试试了。
回答者:yexiaocheng - 江湖少侠 七级 3-16 14:59
提问者对于答案的评价:太长了 重装了您觉得最佳答案好不好? 目前有 1 个人评价

100% (1)
0% (0)

热心网友 时间:2024-12-05 06:08

你看看你的系统时间正确不,如果不正确的话,把系统时间改正确,就好了.

热心网友 时间:2024-12-05 06:09

1,程序正在运行
2,机器硬件兼容性不好~
总之,这不是毒啦

热心网友 时间:2024-12-05 06:10

这不一定是病毒,很有可能是这个软件在你电脑上运行时出现了错误,重新安装该软件一般可以解决

热心网友 时间:2024-12-05 06:10

把详细症状写出来..
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
绿茶要猛冲吗,绿茶鲜嫩不需要(绿茶冲泡的正确方式) 绿茶为什么越好越不耐泡 绿茶要泡几泡?哪种绿茶最耐泡? 哪种绿茶最耐泡 职场故事:美女职员遇到暴躁老板 老板脾气坏得要命,我该怎么办 老板老爱发脾气,我们应该怎么做呀? 害怕老总发脾气怎么办 网络上用名字测和另一个人的关系准确吗 一个男生把自己的名字和另一个人的名字放在一起,中间放个"&"符号... 打开网页时出现0x77c13869指令引用的00000008...12 “"OxOle77ccc"指令引用的Ox37188fOd内存... "Ox77c13869"指令引用的"OxOOOOOOfa"内... 弹出这个窗口:“Ox77c13869”指令引用的“Ox000...4 一个能斜 一个能正 成语 恋雪开头成语 国内有什么游戏只要月卡,没有道具商城的RPG游戏? ...d指定输出路径时,出现cannot execute binary file 怎么办... 大邑到玫瑰谷多少公里 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 王屋山下山要多久 王屋山爬山需要多久 一个手机号可以绑定几个? 一个手机号能绑定几个? 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 手机号1 24 手机号24小时内绑定了两个被限制 请问什么时候才能重 ... 为什么戴眼镜时,用镜片边缘看东西就会晕,而从镜片中间看就没事... 有懂行的来看看这是啥时候的珠子?是天然玛瑙老珠吗? 哪位行家帮忙看看这是什么东西。是不是天然玛瑙。红色的不用看那...2 老古董玛瑙,懂行的来看看?谢谢评价 哪个网站买东西是正品的? 三角形中如何求三条边的垂直平分线。 ...我陪你哭陪你笑陪你伤心陪你难过,这还不够么?张张 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 女方有外遇离婚男方有赔偿吗,这个要求合理吗 浙江公务员行测考试时间 樊文花和洗脸猫哪家好 2010年上映的电影 叫什么8090的…求电影的全名 感谢! 洗脸熊和洗脸猫哪个更好 ...交不了保证金,说什么(支付宝帐户余额小于需冻结的保证金额度)其实我... 白灼虾是开水下锅还是冷水下锅 请问那位高手机没有VMware vCenter Operat...1 VMware vCenter operation manag... iPad能同时连接蓝牙耳机跟蓝牙键盘么,,纠结,,求解啊,,木有分数了,,谢 ... 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 品胜移动电源1a/2a输出口不能进行2a的输出,我的手机原配充电器是2a的... 现代菲斯塔首保时间 彩钢瓦厂房400平米要多少钱、还有...38 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 办理的居住证没下来,怎么办