当前位置:首页 > 天道酬勤 > 正文内容

()

张世龙2021年11月26日 12:35天道酬勤320

内存不能是0X000000,也不能读取内存。

在运行一些程序时,有时会出现内存错误提示,然后程序就会关闭。

“0x?"引用的“0x?"记忆。内存无法“读取”。

“0x?"引用的“0x?"记忆,不可能是“wtten”。

以上情况相信大家都应该看到了,甚至说有网友因为对这种频繁的错误提示不满意而反复重装系统。我相信lhzdmy不应该理解那些复杂的十六进制代码。

这种现象有几个原因。一是硬件有问题,也就是内存,二是软件有很多问题。

首先,我们来谈谈硬件:

一般来说,电脑硬件不容易坏。内存问题的可能性不大(除非你的内存真的是一堆不知名的劣质品牌)。主要方面有:1 .记忆棒坏了(主要是用过的内存),2。用过的内存有质量问题,3。插入主板的内存金手指部分灰尘太多。4。使用不同品牌和容量的内存,导致不兼容。5。超频导致的散热。可以使用MemTest检查内存,可以彻底检查内存的稳定性。

其次,如果没有,则排除软件故障。

首先是原理:内存中有一个存储数据的地方,叫做缓冲区。当程序将数据放入缓冲区时,需要操作系统提供的“函数函数”才能应用。如果内存分配成功,函数会将新打开的内存区域的地址返回给应用程序,应用程序可以通过这个地址使用这个内存。这就是“动态内存分配”,内存地址也是编程中的“光标”。内存并不总是可用且取之不尽的,有时内存分配会失败。当分配失败时,系统函数将返回值0。此时,返回值“0”不再表示新启用的光标,而是系统向应用程序发送的出错通知。作为一个应用程序,应该在每次内存应用后检查返回值是否为0。如果是,说明出了问题,要采取一些措施来挽救,增强了程序的健壮性。如果应用程序没有检查这个错误,它将根据“思维惯性”将这个值视为分配给它的可用光标,并在后续执行中继续使用这个内存。实0地址存储区存储了计算机系统中最重要的“中断描述符表”,绝对不允许被应用程序使用。在没有保护机制的操作系统(如DOS)中,将数据写入此地址会导致立即崩溃,而在健壮的操作系统(如Windows)中,此操作会立即被系统保护机制捕获,结果操作系统会强制关闭错误的应用程序,以防止其错误扩展。此时会出现上述内存无法“读取”的错误,指出引用的内存地址为“0x00000000”。内存分配失败的原因有很多,比如内存不足、系统功能版本不匹配等。因此,这种分配失败在操作系统长期使用后,在安装各种应用程序(包括无意中“安装病毒程序”)和更改大量系统参数和文件后更为常见。

在使用动态分配的应用程序中,有时程序会尝试读写“应该可用”的内存,但不知何故,预期的可用游标失败了。可能是“忘记”向操作系统请求分配,也有可能是程序本身在某个时间已经注销了这个内存,“没有注意”等等。被取消的内存被系统回收,其访问权限不再属于应用程序,因此读写操作也会触发系统的保护机制,程序试图“违法”的唯一结局就是被操作终止,所有资源被回收。计算机世界的规律仍然比人类的规律有效和严厉得多!像这样的情况是程序本身的bug,您经常可以在特定的操作序列中重现错误。无效光标不一定总是0,所以错误提示中的内存地址不一定是“0x00000000”,而是其他随机数。

首先,建议:

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

2.更新操作系统,让操作系统的安装程序复制正确版本的系统文件,并修改系统参数。有时候操作系统本身有bug,要注意安装官方发布的升级程序。

3、尽量使用最新的官方版应用,Beta版、试用版都会有bug。

4.删除并重新创建Winnt\System32\Wbem\Repository文件夹中的文件:右键单击桌面上的计算机,然后单击管理。在“服务和应用程序”下,单击“服务”,然后关闭并停止windows management instrumentation服务。删除Winnt\System32\Wbem\Repository文件夹中的所有文件。(请在删除前创建这些文件的备份副本。)打开服务和应用程序,单击服务,然后打开并启动Windows管理检测服务。当服务重新启动时,将根据以下注册表项中提供的信息重新创建这些文件:HKEY _本地_机器\软件\微软\ WBEM \ CIMOM \自动恢复。

下面是几个分析的例子:

例1:“0x0a8 ba 9ef”指令或“0x70dcf39f”指令引用的“0x03713644”内存出现在IE浏览器中。

用的“0x00000000”内存。该内存不能为“read。要终止程序,请单击“确定”的信息框,单击“确定”后,又出现“发生内部错误,您正在使用的其中一个窗口即将关闭”的信息框,关闭该提示信息后,IE浏览器也被关闭。解决方法:

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

2、 修复或升级IE浏览器,同时打上系统补丁。看过其中一个修复方法是,把系统还原到系统初始的状态下。建议将IE升级到了6.0。

例二:有些应用程序错误: “0x7cd64998” 指令参考的 “0x14c96730” 内存。该内存不能为 “read。解决方法:Win XP的“预读取”技术这种最佳化技术也被用到了应用程序上,系统对每一个应用程序的前几次启动情况进行分析,然后新增一个描述套用需求的虚拟“内存映像”,并把这些信息储存到Windows\Prefetch文件夹。一旦建立了映像,应用软件的装入速度大大提高。XP的预读取数据储存了最近8次系统启动或应用软件启动的信息。建议将虚拟内存撤换,删除Windows\Prefetch目录下所有*.PF文件,让windows重新收集程序的物理地址。

例三:在XP下双击光盘里面的“AutoRun.exe”文件,显示“0x77f745cc”指令引用的“0x00000078”内存。该内存不能为“wtten”,要终止程序,请单击“确定”,而在Windows 98里运行却正常。 解决方法:这可能是系统的兼容性问题,winXP的系统,右键“AutoRun.exe”文件,属性,兼容性,把“用兼容模式运行这个程序”项选择上,并选择“Windows 98/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”内存,该内存不能为“wtten”,然后QQ自动下线,而再打开QQ,发现了他发过来的十几条的信息。 解决方法:这是对方利用QQ的BUG,发送特殊的代码,做QQ出错,只要打上补丁或升级到最新版本,就没事了。

扫描二维码推送至手机访问。

版权声明:本文由花开半夏のブログ发布,如需转载请注明出处。

本文链接:https://www.zhangshilong.cn/work/8321.html

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。