内存报错该内存不能为read或write_第1页
内存报错该内存不能为read或write_第2页
内存报错该内存不能为read或write_第3页
内存报错该内存不能为read或write_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、使用操作系统地人有时会遇到这样地错误信息:“?指令引用地内存,该内存不能为 或”,然后应用程序被关闭.其实,这个错误并不一定是不稳定造成地.本文就来简单分析这种 错误地常见原因.一、应用程序没有检查内存分配失败程序需要一块内存用以保存数据时,就需要调用操作系统提供地“功能函数”来申请,如果内 存分配成功,函数就会将所新开辟地内存区地址返回给应用程序,应用程序就可以通过这个 地址使用这块内存.这就是“动态内存分配”,内存地址也就是编程中地“指针”.内存不是永远都招之即来、用之不尽地,有时候内存分配也会失败.当分配失败时系统函数 会返回一个值,这时返回值“”已不表示新启用地指针,而是系统向应用程序

2、发出地一个通知, 告知出现了错误.作为应用程序,在每一次申请内存后都应该检查返回值是否为,如果是, 则意味着出现了故障,应该采取一些措施挽救,这就增强了程序地“健壮性”.若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配地可用指针, 继续在之后地运行中使用这块内存 .真正地地址内存区保存地是计算机系统中最重要地 “中 断描述符表”,绝对不允许应用程序使用.在没有保护机制地操作系统下(如),写数据到这 个地址会导致立即死机,而在健壮地操作系统中,如等,这个操作会马上被系统地保护机制 捕获,其结果就是由操作系统强行关闭出错地应用程序,以防止其错误扩大.这时候,就会 出现上述地“

3、写内存”错误,并指出被引用地内存地址为“”.内存分配失败故障地原因很多,内存不够、系统函数地版本不匹配等都可能有影响.因此, 这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中 “安装” 地病毒程序),更改了大量地系统参数和系统文件之后.二、应用程序由于自身引用了不正常地内存指针在使用动态分配地应用程序中,有时会有这样地情况出现:程序试图读写一块 “应该可用” 地内存,但不知为什么,这个预料中可用地指针已经失效了.有可能是“忘记了”向操作系统 要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等.注销了地 内存被系统回收,其访问权已经不属于该应用程序,

4、因此读写操作也同样会触发系统地保护 机制,企图“违法”地程序唯一地下场就是被操作终止运行,回收全部资源.计算机世界地法 律还是要比人类有效和严厉得多啊!像这样地情况都属于程序自身地,你往往可在特定地操作顺序下重现错误.无效指针不一定 总是,因此错误提示中地内存地址也不一定为“”,而是其他随机数字.如果系统经常有所提到地错误提示,下面地建议可能会有帮助:.查看系统中是否有木马或病毒.这类程序为了控制系统往往不负责任地修改系统,从而导致 操作系统异常.平常应加强信息安全意识,对来源不明地可执行程序绝不好奇.更新操作系统,让操作系统地安装程序重新拷贝正确版本地系统文件、修正系统参数.有时候操作系统本

5、身也会有,要注意安装官方发行地升级程序.试用新版本地应用程序. 这是程序错误引起地,你可以更改一下程序设置或者重新安装程序. 相信大家都应该见到过,甚至说一些网友因为不爽于这个经常出现地错误提示而屡次重装系 统.相信象我们这些普通用户应该不会理解那些复杂地十六进制代码.那些只是供微软亚洲研 究院地研究人员研究地 .三、软件还是硬件 运行某些程序地时候,有时会出现内存错误地提示,然后该程序就关闭. “?”指令引用地“?”内存.该内存不能为“”.“?”指令引用地“?”内存,该内存不能为“”. 不知你出现过类似这样地故障吗?(后面内容有可能不一样.) 大家仔细观察后面地内容,是不是每个人地错误代码都

6、是不一样地呢?但他们地问题可能是 同一个地.出现这个错误提示是有两方面地原因地,第一是硬件,即内存有问题,第二是软 件,软件方面地问题就多了去了.、先说说硬件:一般来说,电脑硬件是很不容易坏地.内存出现问题地可能性并不大(除非你地内存真地是 杂牌地一塌徒地),主要方面是:.内存条坏了(二手内存情况居多)、.使用了有质量问题 地内存,.内存插在主板上地金手指部分灰尘太多.使用不同品牌不同容量地内存,从而出现 不兼容地情况.超频带来地散热问题.假如你是双内存,而且是不同品牌地内存条混插或者买了二手内存时,出现这个问题,这时, 你就要检查是不是内存出问题了或者和其它硬件不兼容.、如果所说地情况都没有

7、,那末就要从软件方面解决问题了.先简单说说原理:内存有个存放数据地地方叫缓冲区,当程序把数据放在其一位置时,因为 没有足够空间,就会发生溢出现象.举个例子:一个桶子只能将一斤地水,当你放入两斤地 水进入时,就会溢出来.而系统则是在屏幕上表现出来.这个问题,经常出现在和系统上, 对 硬件地要求是很苛刻地,一旦遇到资源死锁、溢出或者类似 里地非法操作,系统为保持稳定, 就会出现上述情况.另外也可能是硬件设备之间地兼容性不好造成地.同时由于系统在运行时要对一段内存进行保护,其他地用户程序无法访问内存,当用户程序 非法读取这些内存空间时,也会出现这样地错误.四、几个例子:()问:指令引用地 内存,该内

8、存不能为.要终止程序,请单击确定.答:有错误,需要重置:在开始菜单中打开运行窗口,在其中输入 ,然后确定,接着会出现一个信息对话 框 ,再次点击 确定.再次打开运行窗口,输入再次打开运行窗口,输入再次打开运行窗口,输入再次打开运行窗口,输入再次打开运行窗口,输入再次打开运行窗口,输入再次打开运行窗口,输入()问指令引用地内存.该内存不能为“”.要终止程序,请单击“确定”.答:关闭该提示信息后,浏览器也被关闭. 解决方法:修复或升级浏览器,同时打上系统补 丁.确定你地升级到了.()问: 关闭时出现错误,以前一直使用正常,最近却在每次关闭时出现 “”指令引用地“” 内存.该内存不能为“” 地提示.

9、答:当使用地输入法为微软拼音输入法,并且隐藏语言栏时(不隐藏时没问题)关闭就会出 现这个问题,因此在关闭之前可以显示语言栏或者将任意其他输入法作为当前输入法来解决 这个问题.()问:“”指令引用“”内 存,该内存不能为“” ,要终止程序,请单击“确定”.答 :双击一个游戏地快捷方式,并且提示程序错误. 解决方法:重装显卡地最新驱动程 序,然后下载并且安装.()问:“”指令引用地“”内存,该内存不能为“”,要终止程序,请单击“确定”.答:自动下线,当再打开时,发现了发过来地十几条地信息. 解决方法:这是对方利用地, 发送特殊地代码,做出错,只要打上补丁或升级到最新版本,就可以了.()问:打开浏览

10、器或者没过几分钟就会出现指令引用地内存.该内存不能为“”.要终止程 序,请单击“确定”地信息框,单击“确定”后,又出现“发生内部错误,您正在使用地其中一 个窗口即将关闭”地信息框,关闭该提示信息后,浏览器也被关闭.答:修复或升级浏览器,同时打上补丁.看过其中一个修复方法是,自升级,也就是升级到, 其实这种方法也就是把系统还原到系统初始地状态下.比如你地升级到了,自升级后,会被 代替.()问:在 下双击光盘里面地“”文件,显示“”指令引用地“”内存.该内存不能为“”,要终止 程序,请单击“确定”,而在 里运行却正常.答:这可能是系统地兼容性问题,地系统,右键“”文件,属性,兼容性,把“用兼容模式运 行这个程序”项选择上,并选择“ ”.如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论