祝愿大家身体健康!

 站点注册  找回密码
 站点注册

QQ登录

只需一步,快速开始

查看: 3602|回复: 0

系统提示“该内存不能为read”的深层原因与相应对策

[复制链接]

系统提示“该内存不能为read”的深层原因与相应对策

[复制链接]
newease

主题

0

回帖

1万

积分

论坛元老

积分
19020
贡献
在线时间
小时
2009-8-27 16:08:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?站点注册

×
相信经常运行Windows的网友,或多或少都曾遇到过这样的错误信息:“0X????????”指令引用的“0x????????”内存,该内存不能为“read”。要终止程序,清单击“确定”。 对此,笔者用最简洁的文字说明成因,并提供成功实践的相应对策如下——    一、成因
    系统提示“该内存不能为read”的成因很多,主要是:内存接触不良;安装论坛制作的“精简版”系统造成系统函数不匹配;安装不兼容软件或者带毒、带插件软件从而更改了系统参数和系统文件。
  一般来讲,应用程序启动特别是退出保存数据时,就要调用操作系统提供的“功能函数”进行申请。如果内存分配成功,函数就会将新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用相应内存。这就是“动态内存分配”,内存地址也就是编程中的“指针”。
  但是,有时内存分配因为某种原因也会失败。当分配失败时系统函数就会返回一个0值,这时返回值“0”已不表示新启用的指针,而是系统向应用程序发出的一个通知:你的申请出现了错误!若应用程序没有检查到这个错误,就会按照“思维惯性”认为这个值就是给它分配的可用指针,继续在此后的运行中使用它认为的“这块内存”。
    其实,真正的0地址内存区保存的是系统中最重要的“中断描述符表”,绝对不允许应用程序使用。因而这个0地址操作会马上被Windows系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的“写内存”错误,并指出被引用的内存地址为“0x????????”。

         二、对策
   
    最基本应当做到:1。安装运行微软原版操作系统。2。定期清理内存“金手指”结合部。3。注意下载安装软件的科学性。4。定期全面、彻底查杀病毒、木马。

    ——以下“命令”和“批处理”,是遇到异常时的最好补救措施(适用于XP和VISTA,两种措施可二选一):

     1.在命令提示符中输入以下命令后回车:

    for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1

     2。运行“批处理”程序。直接下载:


   原理:将系统中所有的.dll文件重新注册一遍(大约需要3-5分钟时间),使“异常”归于“正常”。

         ——实施以上两条补救措施,一定会收到“立竿见影”的奇效。为防患于未然,现在你就可以提前打“预防针”:运行上述“命令”或“批处理”程序。当然,“最基本应当做到的四条”,才是治本的良策。
共享共进共赢Sharing And Win-win Results
SYBASEBBS - 免责申明1、欢迎访问“SYBASEBBS.COM”,本文内容及相关资源来源于网络,版权归版权方所有!本站原创内容版权归本站所有,请勿转载!
2、本文内容仅代表作者观点,不代表本站立场,作者自负,本站资源仅供学习研究,请勿非法使用,否则后果自负!请下载后24小时内删除!
3、本文内容,包括但不限于源码、文字、图片等,仅供参考。本站不对其安全性,正确性等作出保证。但本站会尽量审核会员发表的内容。
4、如本帖侵犯到任何版权问题,请立即告知本站 ,本站将及时删除并致以最深的歉意!客服邮箱:admin@sybasebbs.com
您需要登录后才可以回帖 登录 | 站点注册

本版积分规则

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com

QQ|Archiver|PowerBuilder(PB)BBS社区 ( 鲁ICP备2021027222号-1 )

GMT+8, 2024-4-25 04:49 , Processed in 0.086541 second(s), 9 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表