首页 > 系统 > WinXP > 正文

内存不能存为“Read”的7大原因

2020-08-04 12:06:57
字体:
来源:转载
供稿:网友

 

1 微软 IE 缓冲溢出漏洞引起

2 内存或虚拟内存地址使用抵触造成   顺序的运行需要分配一定的内存地址给程序使用,当顺序结束时释放留出空间让给新的顺序使用, win 多任务的系统   有时前程序未结束   又有新的任务开始   底要多少内存或虚拟内存来保证我同时运行的工作任务呢 ? 也许 win 这个问题上没弄好,所以有此错误常常发生,一般运行大型软件或多媒体后出现这种情况

3 劣质内存条也会出现这个问题

4 微软 WINDOWS 系统的漏洞, window 把内存地址 0X00000000 0X0000ffff 指定为分配 null 指针的地址范围 , 如果顺序试图访问这一地址,则认为是错误。 c/c++ 编写的顺序通常不进行严格的错误检查,当采用 malloc 来分配内存而可供分配的地址空间不够的情况下返回 null 指针。但是代码不检查这种错误,认为地址分配已经胜利,于是就访问 0X00000000 地址,于是就发生内存违规访问,同时该进程被终止。

ASCII 字符填充组成的 pif 文件时会出现以下情况:   一个非法的 pif 文件(用 ascii 字符 'x' 填充)至少要 369 字节,系统才认为是一个合法的 pif 文件,才会以 pif 图标 [pifmgr.dll,0] 显示,才会在属性里有程序、   字体、内存、屏幕 ” 等内容。而且仅仅当一个非 pif 文件的大小是 369 字节时察看属性的顺序 ” 页时,不会发生程序错误,哪怕是 370 字节也不行。当对一个大于 369 字节的非法 pif 文件观察属性的顺序 ” 页时, Explorer 会出错,提示: '***' 指令引用的 '***' 内存。该内存不能为 'read'  问题出在 pif 文件的 16 进制地址:  0x00000181[0x87]0x00000182[0x01] 和  0x00000231[0xC3]0x00000232[0x02]  即使是一个合法 pif 文件,只要改动这四处的任意一处,也会引起程序错误。而只   要把 0x00000181 和 0x00000182 值改为 [0xFF][0xFF] 那么其它地址任意更改   都不会引起错误。  

5 可能没有完全正确装置 apach 服务,且启动了原故 ;  把服务中的  OracleOraHomeXXHTTPServ 改成停止

6 应用顺序没有检查内存分配失败

7 应用顺序由于自身 BUG 引用了不正常的内存指针

像这样的情况都属于程序自身的 BUG 往往可在特定的操作顺序下重现错误。无效指针不一定总是 0 因此错误提示中的内存地址也不一定为 “ 0x00000000 而是其他随机数字。

如果系统经常有所提到错误提示,下面的建议可能会有帮助:

1. 检查系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。

2. 更新操作系统,让操作系统的装置顺序重新拷贝正确版本的系统文件、修正系统参数。有时候操作系统自身也会有 BUG 要注意安装官方发行的升级顺序。

3. 试用新版本的应用顺序。  

    4 删除然后重新创立  Winnt/System32/Wbem/Repository  文件夹中的文件:   桌面上右击我电脑,然后单击管理。  

" 服务和应用程序 " 下,单击服务,然后关闭并停止  Windows Management Instrumentation  服务。  

删除  Winnt/System32/Wbem/Repository  文件夹中的所有文件。删除前请创建这些文件的备份副本。  

打开 " 服务和应用程序 " 单击服务,然后打开并启动  Windows Management Instrumentation  服务。当服务重新启动时,将基于以下注册表项中所提供的信息重新创建这些文件:  HKEY_LOCA L_MA CHINE/SOFTWA RE/Microsoft/WBEM/CIMOM/A utorecover MOFs 

     16:33:19

下面我从几个例子给大家分析:  

例一:打开 IE 浏览器或者没过几分钟就会出现 "0x70dcf39f" 指令引用的 "0x00000000" 内存。该内存不能为 “ read 要终止程序,请单击 “ 确定 ” 信息框,单击 “ 确定 ” 后,又出现 “ 发生内部错误,您正在使用的其中一个窗口即将关闭 ” 信息框,关闭该提示信息后, IE 浏览器也被关闭。  

解决方法:修复或升级 IE 浏览器,同时打上补丁。看过其中一个修复方法是 Win2000 自升级,也就是 Win2000 升级到 Win2000 其实这种方法也就是把系统还原到系统初始的状态下。比方你 IE 升级到 6.0 自升级后,会被 IE5.0 代替。

例二: windows xp 下双击光盘里面的 AutoRun.ex 文件,显示 “ 0x77f745cc 指令引用的 0x00000078 内存。该内存不能为 “ written 要终止程序,请单击 “ 确定 ” 而在 Windows 98 里运行却正常。

  解决方法:这可能是系统的兼容性问题, winXP 系统,右键 “ AutoRun.ex 文件,属性,兼容性,把 “ 用兼容模式运行这个程序 ” 项选择上,并选择 “ Windows 98/M win2000 如果打了 SP 补丁后,只要开始,运行,输入: regsvr32 c:/winnt/apppatch/slayerui.dl 右键,属性,也会出现兼容性的选项。  

例三: RealOne Gold 关闭时出现错误,以前一直使用正常,最近却在每次关闭时出现 “ 0xffffffff 指令引用的 0xffffffff 内存。该内存不能为 “ read   提示。   解决方法:当使用的输入法为微软拼音输入法 2003 并且隐藏语言栏时(不隐藏时没问题)关闭 RealOn 就会出现这个问题,因此在关闭 RealOn 之前可以显示语言栏或者将任意其他输入法作为当前输入法来解决这个问题。  

例四:豪杰超级解霸自从上网后就不能播放了每次都提示 “ 0x060692f6 每次变化)指令引用的 0xff000011 内存不能为 “ read 终止顺序请按确定。  

解决方法:试试重装豪杰超级解霸 , 如果重装后还会,官方网站下载相应版本的补丁试试。还不行,只好换就用别的播放器试试了  

例五:双击一个游戏的快捷方式, 0x77f5cd0 指令引用 “ 0xffffffff 内   存,该内存不能为 “ read   并且提示 Client.dat 顺序错误。   解决方法:重装显卡的最新驱动顺序,然后下载并且装置 DirectX9.0   例六:一个朋友发信息过来,电脑便出现了错误信息 : 0x772b548f 指令引用的 0x00303033 内存,该内存不能为 “ written , 然后 QQ 自动下线

 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表