0x 00000000 0x 038713CD指令引用的内存。内存无法读取是什么意思?

使用Windows操作系统的人有时会遇到这样的错误消息:

“0X”指令指的是“0x00000000”内存,不能“读”也不能“写”,然后应用程序关闭。

如果你问一些“专家”,得到的答案往往是“Windows这么不稳定”之类的愤慨和不屑。其实这个错误不一定是Windows的不稳定造成的。本文将简单分析这个错误的一般原因。

首先,应用程序无法检查内存分配。

当一个程序需要一块内存来存储数据时,需要使用操作系统提供的“函数function”来申请。如果内存分配成功,函数会将新打开的内存区域的地址返回给应用程序,应用程序可以通过这个地址使用这个内存。这就是“动态内存分配”,内存地址也是编程中的“光标”。内存并不总是可用和取之不尽的,有时内存分配会失败。当分配失败时,系统函数将返回值0。此时,返回值“0”不再表示新启用的光标,而是系统发送给应用程序的通知,表示发生了错误。作为应用程序,应该在每次内存应用后检查返回值是否为0。如果是,则说明存在故障,需要采取一些措施来挽救,增强了程序的“健壮性”。如果应用程序不检查这个错误,它会根据“思维惯性”将这个值视为分配给它的可用游标,并在后续执行中继续使用这个内存。真正的0地址存储区存储的是计算机系统中最重要的“中断描述符表”,是绝对不允许应用程序使用的。在没有保护机制的操作系统(如DOS)中,向该地址写入数据会导致立即崩溃,而在健壮的操作系统中,如

窗户等。,这个操作会立刻被系统的保护机制捕获,结果就是操作系统强行关闭错误的应用,防止其错误扩大。此时会出现上述“写内存”错误,指出引用的内存地址为“0x00000000”。内存分配失败的原因有很多,比如内存不足,系统函数版本不匹配等。所以这种分配失败的情况在操作系统使用时间长了之后,在安装了多种应用程序(包括无意中安装的病毒程序)并更改了大量的系统参数和系统文件之后更为常见。

第二,应用程序由于自身的BUG引用了一个异常的内存游标。

在使用动态分配的应用程序中,有时会发生这样的情况:程序试图读写一个“应该可用”的内存,但由于某种原因,预期的可用游标已经变得无效。可能是“忘记”向操作系统要求分配,也可能是程序本身在某个时候取消了这个内存,“没注意”。注销的内存由系统回收,其访问权限不再属于应用程序。所以读写操作也会触发系统的保护机制,企图“违法”的程序唯一的最终结果就是被操作终止,收回所有资源。计算机世界的法则还是比人类有效和严厉得多!像这样的情况属于程序本身的BUG,你经常可以在一个特定的操作序列中重现错误。无效光标不一定是0,所以错误提示中的内存地址不一定是“0x00000000”,也可以是其他随机数。如果系统经常出现上述错误提示,可以解释以下建议。

1.检查系统中是否有特洛伊病毒。这种程序经常不负责任地修改系统,以便控制系统。

导致操作系统异常。平时要加强信息安全意识,千万不要对来源不明的可执行程序感到好奇。

2.更新操作系统,使操作系统的安装程序能够复制正确版本的系统文件并修正系统参数。

有时候操作系统本身也有bug,要注意安装官方发布的升级程序。

3.尝试应用程序的新版本。

模式:

替换虚拟内存

回答:

到目前为止,是的,也就是下一次寒冷天气来临时如果没有再发生,说明这是主要原因。

追加:

如果你使用

Ghost建议删除所有*。PF文件放在WINDOWS\PREFETCH目录下,因为WINDOWS需要再次收集程序的物理地址。

一些应用程序错误。

“0x7cd64998”指令引用了“0x14c96730”内存。这个记忆无法“读取”,就是这个原因。

来源:

胜利

XP的“预读”技术

这种优化技术也被应用到应用软件中。系统对每个应用软件的前一次启动进行分析,然后添加一个虚拟的“内存映像”来描述应用需求,并将这些信息存储在。

WINDOWSPREFETCH数据文件夹。一旦镜像建立,应用软件的加载速度大大提高。XP的预读数据存储最近八次系统启动或应用软件启动的信息。

后记:

目前这种方法也是一步到位的网络(代码本身对这个问题也搜索了很久),也是常见问题。本来有些程序几乎每天都会发生,在去读之前关掉软件......

现在没有了。

第二条

运行某些程序时,有时会出现内存错误提示(0x后的内容可能会有所不同),然后关闭程序。

“0x”指令引用了“0x”内存。存储器不能被“读取”。

0x指令引用的0x内存,不能“写入”。

不知道你有没有过这样的断层?

总的来说,这种现象有很多方面。一是硬件有问题,也就是内存,二是软件有很多问题。

先说硬件:

一般来说,内存出现问题的可能性不大。主要方面是:内存条坏了,内存质量有问题,有两个不同品牌不同容量的内存,也容易出现不兼容的情况。同时一定要注意散热问题,尤其是超频之后。可以使用MemTest。

这个软件检查内存,它可以彻底检测内存的稳定性。

如果您有双内存,并且不同品牌的内存芯片混用或者您购买二手内存,就会出现此问题。这时候你就要检查一下是不是内存有问题,还是和其他硬件不兼容。

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

先简单说一下原理:内存中有一个用来存储数据的地方叫做buffer。程序把数据放在一个地方,会因为空间不够而溢出。比如一个水桶只能装一斤水。你放两斤水进去,就会溢出来。系统显示在屏幕上。这个问题经常出现在windows2000和XP系统上。Windows操作系统

2000/XP对硬件要求很高。一旦遇到资源死锁、溢出或类似Windows,

98在非法操作中,系统保持稳定时,会出现上述情况。此外,也可能是硬件设备之间兼容性差造成的。

我从几个例子给你分析一下:

例1:打开IE浏览器或者几分钟后会出现“0x70dcf39f”指令引用的“0x00000000”内存。存储器不能被“读取”。要终止程序,请单击“确定”。单击“确定”后,将出现消息框“出现内部错误,您正在使用的一个窗口即将关闭”。关闭这个提示信息后,IE浏览器也关闭了。解决方法:修复或升级IE浏览器,同时打补丁。我看到有一种修复方法是Win2000自升级,即Win2000升级到Win2000。其实这个方法就是把系统恢复到初始状态。比如你的IE升级到6.0,升级后就换成了IE5.0。

示例2:在windows中

双击xp下光盘中的“AutoRun.exe”文件,显示“0x77f745cc”指令引用的“0x00000078”内存。内存不能被

"已写",要终止程序,单击"确定",而在Windows。

正常运行98里。解决方法:这可能是系统的兼容性问题。对于winXP的系统,右键单击“AutoRun.exe”文件,属性和兼容性,选择“以兼容模式运行此程序”项,然后选择“Windows”

98/我.如果win2000打了SP的补丁,只要启动,运行,输入:regsvr32即可。

c:\winnt\apppatch\slayerui.dll .右键单击,属性和兼容性选项也会出现。

示例3: RealOne

黄金收盘时出现错误。以前是正常的,但是最近“0xffffffff”指令引用的“0xffffffff”内存在每次关闭时都会出现。存储器不能被“读取”。

小贴士。解决方法:当使用的输入法是微软拼音输入法2003,并且隐藏了语言栏(不隐藏的时候没问题)的时候,关闭RealOne会出现这个问题,所以关闭RealOne的时候。

您可以显示语言栏或使用任何其他输入法作为当前输入法来解决此问题。

例4:我的英雄超级解霸上网后打不了,每次都有提示。

无法读取“0x060692f6”指令引用的存储器“0xff000011”。请按“确定”终止程序。解决方法:尝试重装英雄超级解霸。如果是重装,可以尝试从官网下载相应版本的补丁。还没有,所以我不得不尝试另一个球员。

例5:双击一个游戏的快捷方式,指令“0x77f5cd0”指的是“0xffffffff”。

保存,内存无法“读取”,并提示Client.dat程序错误。

解决方法:重新安装显卡最新驱动,然后下载安装DirectX9.0。

例6:朋友给我发消息,我的电脑得到错误信息:“0x00303033”内存被“0x772b548f”指令引用,不能

“写了”,然后QQ自动下线,再打开QQ,发现十几条他发的消息。解决方法:这是对方利用QQ的BUG发送特殊代码,在QQ中出错。只要打补丁或者升级到最新版本就没事了。

原因

解决办法

1内存条坏了。更换记忆棒。

2双内存与使用同一品牌的内存或仅使用一个内存不兼容。

3内存质量问题更换内存条

4散热问题

加强机箱内部的散热

5内存和主板未正确插入,或者其他硬件不兼容。重新插入内存或更换插槽。

6硬件有问题。更换硬盘

7驾驶问题

重新安装驱动程序。如果是新系统,先安装主板驱动。

8软件损坏重新安装软件

9软件BUG补丁或更新至最新版本。

10软件和系统不兼容。

修补软件或尝试系统的兼容模式。

11软件和软件有冲突。如果最近安装了什么新软件,卸载试试。

12软件使用其他相关软件有问题。

重新加载相关软件时,比如播放某个格式的文件,出现错误,可能是这个文件的解码器有问题。

13病毒问题的杀毒

14杀毒软件与系统或软件冲突。

因为杀毒软件进入底层监控系统,可能会和某些软件发生冲突。尝试卸载它。

15系统本身有问题。

有时候操作系统本身也有bug。注意安装官方更新,比如SP补丁,最好装上。如果不行,就重装系统或者换成其他版本。

[再说一遍]

检查您是否安装了Microsoft NET。控制面板中添加/删除程序中的框架。如果已经安装了,可以考虑卸载。当然,如果你需要网。框架在将来的其他程序中,你可以重新安装它。

另外,如果你用的是ATI显卡并且你用的是SP2补丁(有些ATI显卡驱动需要在NET的正常工作环境下。框架)。这种情况下可以找一个不需要NET.Framework支持的ATI显卡驱动。

如果以上两种方法都不能彻底解决问题,可以试试用“IE修复”软件,检查一下有没有病毒什么的。

微软网络。框架应该升级到版本1.1。

[还有一件事]

方法1:

微软新闻组的朋友指点:start-run: regsvr32。

jscript.dll

开始运行:regsvr32

vbscript.dll

但是它并没有解决——但是它提供了一种方法来同时运行和注册所有的dll。

搜索方法如下:

运行输入命令

在命令提示下输入。

用于(%windir%\system32\*中的%1。做regsvr32.exe/s

%1

这个命令的人,如果你输入正确,你会看到一个快速滚动,否则...否则失败不会有这种效果。进车后慢慢等(1-2分钟)。

在它全部运行之前不要打开它。

方法二:

这是一个典型的问题~ ~ ~ ~造成这个问题的原因有很多。一般来说就是打系统补丁换内存,换插槽换内存。【系统补丁只需要去微软。

更新网站可在线更新】

(偶尔)

这个问题有很多原因,不能简单下结论。尝试执行以下操作可能对您有所帮助:

1。确保使用未经修改的软件(非中文、破解版)

2。使用修改后的软件时尽量不要运行其他软件。(这是一个临时文件。可能有些软件也在用临时文件夹,所以造成干扰。)

3。关闭所有那些桌面工具和内存排序工具(你至少有两个类似的工具在运行)。"

处理方法:

运行regedit进入注册表,

在HKEY _ local _ machine \ software \ Microsoft \ Windows \ Current version \ Explorer \ ShelleExecute钩子下。

,应该只有一个正常键值“{ aeb 6717e-7e 19-11d 0-97ee-00c 04 FD 91972 },

删除其他的。

【我个人最终的解决方案和看法】

今天试了很多方法,最后发现问题是微软的NET.Framework,我升级了这个软件,打了补丁。短暂的平静之后,出现了“内存无法读取”的情况。后来受上面这篇文章的启发,我卸载了微软的NET。框架1.0和1.1,天下太平。

另外:如果打开“我的电脑”、“我的文档”等出现上述情况,还有一种可能是你的右键菜单过于臃肿。这时候只要清理一下右键菜单问题,解决就好了。

-

[测试结果]

上述方法中,最有效和彻底的方法是这样的:

奔跑

于指令提示下输入cmd enter。

用于(%windir%\system32\*中的%1。做regsvr32.exe/s

%1

提示如果怕出错,可以复制这个指令,然后点击命令提示框左上角的C: \即可。使用下面的“编辑-粘贴”功能,不容易出错。快速滚动完全静止后,不要急着启动其他程序,先耐心等待一段时间,因为此时dll还在寻找位置。在指示灯停止闪烁之前,不要做任何其他事情。