搜档网
当前位置:搜档网 › 错误_0x7ccaaa9b_指令引用的0x0000010内存_该内存不能为“read” (1)

错误_0x7ccaaa9b_指令引用的0x0000010内存_该内存不能为“read” (1)

错误_0x7ccaaa9b_指令引用的0x0000010内存_该内存不能为“read” (1)

XP错误 0x7ccaaa9b 指令引用的0x0000010内存该内存不能为“read”

一直在获取IP。。。且出现以下情况:

svchost.exe 应用程序错误 0x7ccaaa9b 指令引用的0x0000010内存该内存不能为“read”

无论是点确定还是取消,都无法正常加载到windows桌面。

查询一圈后,证实以下方法有效:

重启电脑,按F8启动XP到“带命令行提示的安全模式”下,在CMD里输入:for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1

等待命令执行完成,再执行:

netsh winsock reset

重启电脑进入正常模式。

应用程序错误该内存不能为read

应用程序错误该内存不能为read 悬赏分:30 |解决时间:2009-8-26 10:43 |提问者:lkjnc 瑞星卡卡上网安全助手和瑞星杀毒软件有些功能不能正常使用,当打开安检时就跳出RsMain.exe应用程序错误每次都是不同指令不同内存。该内存不能为read.使用漏洞扫描与修复时也同样跳出Ras.exe应用程序错误。每次单击确定还是取消,该程序就被关闭。还有其他操作等也有影响,经常跳出应用程序出错,比如不能卸载安装一些东西等,经常跳出这种提示,不知道该怎么办 最佳答案 这个好说...希望你不是临时用户... 一般出现这个现象的方面有,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。 下面先说说硬件: 一般来说,内存出现问题的可能性并不大,主要方面是:内存条坏了、内存质量有问题,还有就是2个不同牌子不同容量的内存混插,也比较容易出现不兼容的情况,同时还要注意散热问题,特别是超频后。你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。 假如你是双内存,而且是不同品牌的内存条混插或者买了二手内存时,出现这个问题,这时,你就要检查是不是内存出问题了或者和其它硬件不兼容。 如果都没有,那就从软件方面排除故障了。 一般原因是: 1、驱动不稳定,与系统不兼容,这最容易出现内存不能为Read 或者文件保护 2、系统安装了一个或者多个流氓软件,这出现IE 或者系统崩溃的机会也比较大,也有可能出现文件保护 3、系统加载的程序或者系统正在运行的程序之前有冲突,尤其是部分杀毒软件监控程序 4、系统本身存在漏洞,导致容易受到网络攻击。 5、病毒问题也是主要导致内存不能为Read、文件保护、Explorer.exe 错误……

解决XXXX指令引用的XXXX内存,该内存不能为read 的方法

解决"XXXX指令引用的XXXX内存,该内存不能为read" 的方法 出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。 一:先说说硬件: 一般来说,电脑硬件是很不容易坏的。内存出现问题的可能性并不大(除非你的内存真的是杂牌的一塌徒地),主要方面是:1。内存条坏了(二手内存情况居多)、2。使用了有质量问题的内存,3。内存插在主板上的金手指部分灰尘太多。4。使用不同品牌不同容量的内存,从而出现不兼容的情况。5。超频带来的散热问题。你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。 二、如果都没有,那就从软件方面排除故障了。 先说原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在缓冲区,需要操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中的“光标”。内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的光标,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用光标,继续在之后的执行中使用这块内存。真正的0地址内存区储存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即当机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的内存不能为“read”错误,并指出被引用的内存地址为“0x00000000“。内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统档案之后。 在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的光标已经失效了。有可能是“忘记了”向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图“违法”的程序唯一的下场就是被操作终止执行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊!像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效光标不一定总是0,因此错误提示中的内存地址也不一定为“0x00000000”,而是其它随机数字。 首先建议: 1、检查系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。 2、更新操作系统,让操作系统的安装程序重新拷贝正确版本的系统档案、修正系统参数。有时候操作系统本身也会有BUG,要注意安装官方发行的升级程序。 3、尽量使用最新正式版本的应用程序、Beta版、试用版都会有BUG。 4、删除然后重新创建 Winnt\System32\Wbem\Repository 文件夹中的文件:在桌面上右击我的电脑,然后单击管理。在"服务和应用程序"下,单击服务,然后关闭并停止 Windows Management Instrumentation 服务。删除 Winnt\System32\Wbem\Repository 文件夹中的所有文件。(在删除前请创建这些文件的备份副本。)打开"服务和应用程序",单击服

内存错误

运行某些程序的时候,有时会出现内存错误的提示,然后该程序就关闭。 “0x????????”指令引用的“0x????????”内存。该内存不能为“read”。 “0x????????”指令引用的“0x????????”内存,该内存不能为“written”。 不知你出现过类似这样的故障吗?(0x后面内容有可能不一样。) 一般出现这个现象的方面有,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。 下面先说说硬件: 一般来说,内存出现问题的可能性并不大,主要方面是:内存条坏了、内存质量有问题,还有就是2个不同牌子不同容量的内存混插,也比较容易出现不兼容的情况,同时还要注意散热问题,特别是超频后。你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。 假如你是双内存,而且是不同品牌的内存条混插或者买了二手内存时,出现这个问题,这时,你就要检查是不是内存出问题了或者和其它硬件不兼容。 如果都没有,那就从软件方面排除故障了。 先简单说说原理: 内存有个存放数据的地方叫缓冲区,当程序把数据放在其一位置时,因为没有足够空间,就会发生溢出现象。举个例子:一个桶子只能将一斤的水,当你放入两斤的水进入时,就会溢出来。而系统则是在屏幕上表现出来。这个问题,经常出现在 windows2000和XP系统上,Windows 2000/XP对硬件的要求是很苛刻的,一旦遇到资源死锁、溢出或者类似Windows 98里的非法操作,系统为保持稳定,就会出现上述情况。另外也可能是硬件设备之间的兼容性不好造成的。 一般原因是: 1、驱动不稳定,与系统不兼容,这最容易出现内存不能为 Read 或者文件保护 2、系统安装了一个或者多个流氓软件,这出现 IE 或者系统崩溃的机会也比较大,也有可能出现文件保护 3、系统加载的程序或者系统正在运行的程序之前有冲突,尤其是部分杀毒软件监控程序 4、系统本身存在漏洞,导致容易受到网络攻击。

内存读取错误的原因

该内存读取错误,不能read 或written 2010年06月15日星期二 4:57 P.M. 该内存不能read 或written的常见原因: 使用Windows操作系统的人有时会遇到这样的错误信息:“0X????????指令引用的 0x00000000内存,该内存不能written”,然后应用程序被关闭。如果去请教一些“高手”,得到的回答往往是“Windows就是这样不稳定”之类的义愤和不屑。其实,这个错误并不一定是Windows不稳定造成的。本文就来简单分析这种错误的常见原因。 一、应用程序没有检查内存分配失败 程序需要一块内存用以保存数据时,就需要调用操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中的“指针”。 内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的指针,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。 若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用指针,继续在之后的运行中使用这块内存。真正的0地址内存区保存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即死机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的“写内存”错误,并指出被引用的内存地址为“0x00000000”。 内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统文件之后。 二、应用程序由于自身BUG引用了不正常的内存指针 在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的指针已经失效了。有可能是“忘记了”向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图“违法”的程序唯一的下场就是被操作终止运行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊!像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效指针不一定总是0,因此错误提示中的内存地址也不一定为“0x00000000”,而是其他随机数字。 如果系统经常有所提到的错误提示,下面的建议可能会有帮助: 1.查看系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。 2.更新操作系统,让操作系统的安装程序重新拷贝正确版本的系统文件、修正系

常见内存故障解析大全

常见内存故障解析大全 导读:我根据大家的需要整理了一份关于《常见内存故障解析大全》的内容,具体内容:内存出现问题一部分是因为升级内存,但由于内存种类的不匹配,往往会遇到一些麻烦,具体出现的内存问题我为你一一支招。1、无法正常开机支招:遇到这类现象主要有三个解决的途径:... 内存出现问题一部分是因为升级内存,但由于内存种类的不匹配,往往会遇到一些麻烦,具体出现的内存问题我为你一一支招。 1、无法正常开机 支招:遇到这类现象主要有三个解决的途径:第一,更换内存的位置,这是最为简单也是最为常用的一种方法,一般是把低速的老内存插在靠前的位置上。第二,在基本能开机的前提下,进入BIOS设置,将与内存有关的设置项依照低速内存的规格设置。比如:使用其中的一根内存(如果是[url="]DDR[/url]333和DDR400的内存混合使用,最好使用DDR333的内存),将计算机启动,进入BIOS设置,将内存的工作频率及反应时间调慢,以老内存可以稳定运行为准,方可关机插入第二根内存。 2、计算机运行不稳定 支招:遇到这类问题的出现主要是内存兼容性造成的,解决的基本思路是与上面大体相同。第一,更换内存的位置。第二,在BIOS中关闭内存由SPD自动配置的选项,改为手动配置。第三,如果主板带有I/O电压调节功能,可将电压适当调高,加强内存的稳定性。 3、混插后内存容量识别不正确

支招:造成这种现象的原因,第一种可能是主板芯片组自身的原因所造成的,一些老主板只支持256MB内存的容量(i815系列只支持512MB),超出的部分,均不能识别和使用。当然还有一些情况是由于主板无法支持高位内存颗粒造成的,解决这类问题的惟一方法就是更换主板或者内存。另外在一些情况下通过调整内存的插入顺序也可以解决此问题。 内存混插不稳定的问题是一个老问题了。面对这种情况,笔者建议您在选购内存条时,要选择象金士顿、金泰克这些高品质内存,因为它们的电气兼容性及稳定性都比较出色,出现问题的几率要低一些,并且售后也都有保障。 另一部分是因为内存在使用过程中,金手指与主板的插槽接触不良引起或者是中了病毒等原因引起的问题,具体出现的内存问题及支招如下。在 4、电脑无法正常启动,打开电脑主机电源后机箱报警喇叭出现长时间的短声鸣叫,或是打开主机电源后电脑可以启动但无法正常进入操作系统,屏幕出现"Error:Unable to ControlA20 Line"的错误信息后并死机。支招:出现上面故障多数是由于内存于主板的插槽接触不良引起。处理方法是打开机箱后拔出内存,用酒精和干净的纸巾对擦试内存的金手指和内存插槽,并检查内存插槽是否有损坏的迹象,擦试检查结束后将内存重新插入,一般情况下问题都可以解决,如果还是无法开机则将内存拔出插入另外一条内存插槽中测试,如果此时问题仍存在,则说明内存已经损坏,此时只能更换新的内存条。 5、开机后显示如下信息:"ON BOARD PARLTY ERROR"。 支招:出面这类现象可能的原因有三种,第一,CMOS中奇偶较验被设为

内存不能为read、written解决办法

内存不能为read/written解决办法 一、硬件的可能性是比较小的,如果是硬件,那就应该是内存条跟主机不兼容的问题导致的如果能排除硬件上的原因(内存条不兼容,更换内存)往下看: 二、系统或其它软件引起的,可用下述方法处理:系统本身有问题,及时安装官方发行的补丁,必要时重装系统。病毒问题:杀毒。杀毒软件与其它软件冲突:卸载有问题的软件。显卡、声卡驱动是否正确安装或者是否被恶意覆盖否?重新安装显卡声卡驱动。 1、使用系统自带的sfc命令,修复受到损坏的系统文件恢复到正常状态。 开始→运行→输入cmd,打开“命令提示符”窗口→输入字符串命令 sfc/scannow→回车→耐心等待命令程序对每个系统文件搜索扫描→一旦发现系统文件的版本不正确或者系统文件已经损坏→它就能自动弹出提示界面→要求插入Windows系统的安装光盘→从中提取正常的系统文件来替代不正常的系统文件→达到修复系统文件的目的→最后重新启动计算机。 2、安装过的Domino这程序导致有问题,你可以在开始→运行→msconfig→启动项目→关闭Domino启动项→如果关闭不了→可以用卡卡助手之类的系统设置软件把它强行关掉→如果还是不行的→证明你系统中毒→那就重新安装系统彻底解决。 三、浏览器出现内存不能读、写的提示: 1、运行→regedit→进入注册表, 在→ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\E xplorer\ShellExecuteHooks 这个位置有一个正常的键值{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 将其他的删除。 2、打开CMD窗口输入如下命令: for %i in (%windir%\system32\*.dll) do regsvr32.exe /s %i 回车 for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回车 两条分别运行完成后重启机器。 四、如果以上方法无法解决只能使用最后一招: 完全注册dll:打开“运行”输入→cmd→回车 然后把下面这行字符复制到黑色cmd框里面去回车等待dll文件全部注册完成就关闭可以了,为防止输入错误可以复制这条指令,然后在命令提示符后击鼠标右键→粘贴→回车,耐心等待,直到屏幕滚动停止。

explorer.exe该内存不能为read等报错及解决方法

原因是系统文件发生错误导致的EXPLOER进程问题 偶尔出现很正常,因为本身WINDOWS的各种未知BUG就很多!经常出现请参考以下:1: a 、运行regedit进入注册表, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell ExecuteHooks 下,应该只有一个正常的键值"{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 将其他的删除。 b 、运行输入cmd 回车在命令提示符下输入 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1 如果怕输入错误的话,可以复制这条指令,然后在命令提示框点击左上角的c:\,使用下面的“编辑-粘贴”功能就不容易输错了。在飞速滚屏完全静止之后,别着急启动其他程序,先耐心等一会儿,因为此时dll们还在找位置。直到你的指示灯不闪了再做别的。 2、要是某特定程序运行后就这样,建议卸了那个程序后安装更新版本的或重装该程序! 3.彻底解决是重装系统 下面是可能的几种EXPLORER.EXE出错的情况: 1. 软件问题(特别是右键第三方加载项) 安装清华紫光输入法3.0版本有的时候会出现explorer.exe出错,取消清华紫光输入法,用其他输入法输入如果没有问题,可以判断为输入法问题。卸载清华紫光输入法,即可解决。 清华紫光输入法4.0版本未发现类似问题。 苹果美化版的rar惹的祸,把它卸载了暂时就没有这个错误了,你也可以看是不是安装了苹果美化版的rar,有的话,也可以卸载了来看一下 装了酒精120%或者酒精52%虚拟光驱,在番茄的系统中很容易出现explorer.exe错误。卸载有时候会解决问题 2. explorer.exe程序本身的原因 检查explorer.exe的文件大小,正常情况下应该显示为237k或者238k,如果大小不一致,可以从别的机器上拷贝一个explorer.exe文件到本机,调用任务管理器,接入explorer.exe进程,然后新建任务拷贝新的文件到系统盘\WINNT目录下。 3. 可能为病毒原因(wc98pp.dll) 网络协议处理器 - 电子书编译工具Web Compiler相关。 wc98pp.dll文件本身并没有影响,很多计算机上都有此文件,但是当explorer.exe出错的时候,删除此文件可以解决问题,然后从注册表中搜索相关键值删除。 usign.dll,有人提到这个文件与wc98pp.dll两个文件类似,删除这两个文件可以清除IE中不断跳出小广告。在公司的计算机中未发现此文件。 4. 其他原因

电脑0x_指令引用的0x内存错误修复

您好!出现:0x???????? 指令引用的0x????????内存。该内存不能为"read"或"written"。答案【shijan8原创】★严禁复制★ 【1】出现该问题原因很多,首先一定要清楚是在什么时候出现该问题,把下面写的看完,对照您电脑出现的问题进行正确的解决。 【2】盗版系统或Ghost版本系统,系统文件错误或丢失,也会出现该问题,及时安装官方发行的补丁,{检查电脑年、月、日是否正确}。建议:最好安装【正版】系统或【完整版】系统。 【3】检查驱动是否出现问题,重新安装驱动或及时更新驱动。 【4】病毒引起的:升级杀毒软件或下载专杀工具,清理恶意插件,对电脑全盘杀毒。 【5】硬件引起的: (1)可能是内存条出现的小问题,关机断电,把内存条拆下清理干净重新安装。必要时更换内存条。(硬件上一般不会出现该问题) 【6】软件引起的: (1)安装的软件与系统或其它软件发生冲突,盗版或带病毒的软件,请慎重下载软件,最好使用正版。【这里主要说的是检查开机启动项,把没必要启动的启动项禁止开机启动】 (2)如果你的电脑中安装了两款或两款以上的同类软件,比如:两款杀毒软件、两款优化系统软件等,请卸载一款,以免发生冲突,以保持电脑稳定性。 (3)有些系统补丁下载安装了错误补丁,可能与您当前的系统或其它软件发生冲突,也会出现该问题。卸载该补丁,找到适合您电脑补丁,重新下载重新安装。(4)当下载安装或打开运行播放器、游戏、QQ等第三方软件,出现该问题时。可能是您下载的软件存在着危险,系统本身为了保护系统不受影响,也会出现该内存不能为“read”或“wrtten”。一般的解决办法就是卸载该软件重新安装。如果不能解决,需要更换同类型其它版本的软件,或找到发生冲突的软件卸载它,问题才能解决。 【注意】:如果以确定电脑没有病毒,检查清理电脑是否存在恶意插件,把它清理掉。如果您使用windows IE浏览器出现该问题,尤其是打了错误补丁,最近windows IE变得不太稳定。用360安全卫士、安装的急救箱或其它软件进行系统修复,如果没有效果,升级或降低IE版本试试。如果还是不行,最简单的解决办法就是:下载更换其它浏览器。【不用删除windows IE,直接使用其它浏览器即可。】比如:360安全浏览器、世界之窗浏览器、傲游等。 如果上面说的检查都没问题,可以试试下面的方法:看看能不能解决。 ◆开始→运行→输入cmd→回车,在命令提示符下输入下面命令 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1回车。 完成后,在输入下面的 for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回车。 如果怕输入错误,可以复制这两条指令,然后在命令提示符后击鼠标右键,打“粘贴”,回车,耐心等待,直到屏幕滚动停止为止。(重启电脑)。 ●在检查运行regedit进入注册表, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \ShellExecuteHooks 下,应该只有一个正常的键值

该内存不能为read

该内存不能为“read”的几个解决方案 【文章一】 使用Windows操作系统的人有时会遇到这样的错误信息: 「“0X????????”指令引用的“0x00000000”内存,该内存不能为“read”或“written”」,然后应用程序被关闭。 如果去请教一些「高手」,得到的回答往往是「Windows就是这样不稳定」之类的义愤和不屑。其实,这个错误并不一定是Windows不稳定造成的。本文就来简单分析这种错误的一般原因。 一、应用程序没有检查内存分配失败 程序需要一块内存用以储存数据时,就需要使用操作系统提供的「功能函数」来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是「动态内存分配」,内存地址也就是编程中的「光标」。内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值「0」已不表示新启用的游标,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的「健壮性」。若应用程序没有检查这个错误,它就会按照「思维惯性」认为这个值是给它分配的可用游标,继续在之后的执行中使用这块内存。真正的0地址内存区储存的是计算机系统中最重要的「中断描述符表」,绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即当机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的「写内存」错误,并指出被引用的内存地址为「0x00000000」。内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中「安装」的病毒程序),更改了大量的系统参数和系统档案之后。 二、应用程序由于自身BUG引用了不正常的内存光标 在使用动态分配的应用程序中,有时会有这样的情况出现:程序试突读写一块「应该可用」的内存,但不知为什么,这个预料中可用的光标已经失效了。有可能是「忘记了」向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而「没有留意」等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图「违法」的程序唯一的下场就是被操作终止执行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊!像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效光标不一定总是0,因此错误提示中的内存地址也不一定为「0x00000000」,而是其它随机数字。如果系统经常有所提到的错误提示,下面的建议可能会有说明: 1.检视系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统, 从而导致操作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。2.更新操作系统,让操作系统的安装程序重新拷贝正确版本的系统档案、修正系统参数。有时候操作系统本身也会有BUG,要注意安装官方发行的升级程序。 3.试用新版本的应用程序。 Mode: 将虚拟内存撤换

0X000000该内存不能为read written的解决方法

0X000000该内存不能为read written的解决方法 【文章一】 使用Windows操作系统的人有时会遇到这样的错误信息: 「“0X????????”指令引用的“0x00000000”内存,该内存不能为“read”或“written”」,然后应用程序被关闭。 如果去请教一些「高手」,得到的回答往往是「Windows就是这样不稳定」之类的义愤和不屑。其实,这个错误并不一定是Windows不稳定造成的。本文就来简单分析这种错误的一般原因。 一、应用程序没有检查内存分配失败 程序需要一块内存用以储存数据时,就需要使用操作系统提供的「功能函数」来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是「动态内存分配」,内存地址也就是编程中的「光标」。内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值「0」已不表示新启用的游标,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的「健壮性」。若应用程序没有检查这个错误,它就会按照「思维惯性」认为这个值是给它分配的可用游标,继续在之后的执行中使用这块内存。真正的0地址内存区储存的是计算机系统中最重要的「中断描述符表」,绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即当机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的「写内存」错误,并指出被引用的内存地址为「0x00000000」。内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中「安装」的病毒程序),更改了大量的系统参数和系统档案之后。 二、应用程序由于自身BUG引用了不正常的内存光标 在使用动态分配的应用程序中,有时会有这样的情况出现:程序试突读写一块「应该可用」的内存,但不知为什么,这个预料中可用的光标已经失效了。有可能是「忘记了」向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而「没有留意」等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图「违法」的程序唯一的下场就是被操作终止执行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊!像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效光标不一定总是0,因此错误提示中的内存地址也不一

内存错误代码大全

系统内存蓝屏的错误代码大全 系统内存蓝屏的错误代码大全 0 0x00000000 作業完成。 1 0x00000001 不正确的函數。 2 0x00000002 系統找不到指定的檔案。 3 0x00000003 系統找不到指定的路徑。 4 0x00000004 系統無法開啓檔案。 5 0x00000005 拒絕存取。 6 0x00000006 無效的代碼。 7 0x00000007 儲存體控制區塊已毀。 8 0x00000008 儲存體空間不足,無法處理這個指令。 9 0x00000009 儲存體控制區塊地址無效。 10 0x0000000A 環境不正确。 11 0x0000000B 嘗試加載一個格式錯誤的程序。 12 0x0000000C 存取碼錯誤。 13 0x0000000D 資料錯誤。 14 0x0000000E 儲存體空間不夠,無法完成這項作業。 15 0x0000000F 系統找不到指定的磁盤驅動器。 16 0x00000010 無法移除目錄。 16 0x00000010 無法移除目錄。 17 0x00000011 系統無法将檔案移到其它的磁盤驅動器。 18 0x00000012 沒有任何檔案。 19 0x00000013 儲存媒體爲寫保護狀态。 20 0x00000014 系統找不到指定的裝置。 21 0x00000015 裝置尚未就緒。 22 0x00000016 裝置無法識别指令。 23 0x00000017 資料錯誤 (cyclic redundancy check) 24 0x00000018 程序發出一個長度錯誤的指令。 25 0x00000019 磁盤驅動器在磁盤找不到持定的扇區或磁道。 26 0x0000001A 指定的磁盤或磁盤無法存取。 27 0x0000001B 磁盤驅動器找不到要求的扇區。 28 0x0000001C 打印機沒有紙。 29 0x0000001D 系統無法将資料寫入指定的磁盤驅動器。 30 0x0000001E 系統無法讀取指定的裝置。 31 0x0000001F 連接到系統的某個裝置沒有作用。 32 0x00000020 The process cannot access the file because it is being used by another process. 33 0x00000021 檔案的一部份被鎖定,現在無法存取。 34 0x00000022 磁盤驅動器的磁盤不正确。請将 %2 (Volume Serial Number: %3) 插入磁盤機%1。 36 0x00000024 開啓的分享檔案數量太多。 38 0x00000026 到達檔案結尾。 39 0x00000027 磁盤已滿。 50 0x00000032 不支持這種網絡要求。 51 0x00000033 遠程計算機無法使用。

C语言中内存错误原因及分析

C语言中内存错误原因及分析 摘要:内存存在错误的C程序会导致各种问题。如果有内存泄露,则运行速度会逐渐变慢,并最终停止运行;如果覆盖内存,则会变得非常脆弱,很容易受到恶意用户的攻击。因此,本文对C 语言中一些常见的内存错误进行了分析。 关键词:指针内存错误分析 一、正确管理内存的原因 内存存在错误的C程序会导致各种问题。如果有内存泄露,则运行速度会逐渐变慢,并最终停止运行;如果覆盖内存,则会变得非常脆弱,很容易受到恶意用户的攻击。 内存错误一种隐性危害:很难再现,症状通常在相应的源代码中不能找到。例如,无论何时何地发生内存泄漏,都可能表现为应用程序完全无法接受,同时内存泄漏并不容易发现。 出于上述原因,让我们对C 语言中常见内存错误进行一下简

单的剖析。 二、内存错误的类别 1、内存泄漏 2、错误分配,包括大量增加free( )释放的内存和未初始化的 引用 3、悬空指针 4、数组边界违规 三、内存泄漏 在分配资源时会发生内存泄漏,但是它从不回收。如下例: void f1(char *p ) { char *p1 ; p1 = malloc(100 ); printf( “The f1 error occurred because of %s. ”,p); local_log(p1 ); } 在这里,只为p1 分配了内存,但分配后并没有释放。 除非local_log()对free()释放内存具有不寻常的响应能力,否则每次对f1 的调用都会泄漏100 字节。在现有内存单位为 G字节的时候,一次泄漏是微不足道的,但是连续操作数小时后,

0x00401ed3指令引用的0xffffffff内存。该内存不能为read

内存不能为read/written 问题的简单解决办法:(原创答案,欢迎分享→请活学活用→仅供参考): 一、硬件的可能性是比较小的,如果是硬件,那就应该是内存条跟主机不兼容的问题导致的如果能排除硬件上的原因(内存条不兼容,更换内存)往下看:二、系统或其它软件引起的,可用下述方法处理:系统本身有问题,及时安装官方发行的补丁,必要时重装系统。病毒问题:杀毒。杀毒软件与其它软件冲突:卸载有问题的软件。显卡、声卡驱动是否正确安装或者是否被恶意覆盖否?重新安装显卡声卡驱动。 1、使用系统自带的sfc命令,修复受到损坏的系统文件恢复到正常状态。 开始→运行→输入cmd,打开“命令提示符”窗口→输入字符串命令 sfc/scannow→回车→耐心等待命令程序对每个系统文件搜索扫描→一旦发现系统文件的版本不正确或者系统文件已经损坏→它就能自动弹出提示界面→要求插入Windows系统的安装光盘→从中提取正常的系统文件来替代不正常的系统文件→达到修复系统文件的目的→最后重新启动计算机。 2、安装过的Domino这程序导致有问题,你可以在开始→运行→msconfig→启动项目→关闭Domino启动项→如果关闭不了→可以用卡卡助手之类的系统设置软件把它强行关掉→如果还是不行的→证明你系统中毒→那就重新安装系统彻底解决。 三、浏览器出现内存不能读、写的提示: 1、运行→regedit→进入注册表, 在→ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\E xplorer\ShellExecuteHooks 这个位置有一个正常的键值{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 将其他的删除。 2、打开CMD窗口输入如下命令: for %i in (%windir%\system32\*.dll) do regsvr32.exe /s %i 回车 for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回车 两条分别运行完成后重启机器。 四、如果以上方法无法解决只能使用最后一招: 完全注册dll:打开“运行”输入→cmd→回车 然后把下面这行字符复制到黑色cmd框里面去回车等待dll文件全部注册完成就关闭可以了,为防止输入错误可以复制这条指令,然后在命令提示符后击鼠标右键→粘贴→回车,耐心等待,直到屏幕滚动停止。 (下面是要运行的代码): for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1 完成后重新启动机器。 五、如果你电脑里面存在NET.Framework这个微软的组件服务而你又不使用它→那么卸载这个服务可能会解决问题:开始→设置→控制面板→添加删除程序→NET.Framework→删除(如果你必须使用就重新启动电脑后再次安装 NET.Framework)。 六、关闭这个报告(治标不治本):

电脑显示0X000000该内存不能为read或者written的解决方法

电脑显示0X000000该内存不能为read或者written 的解决方法 一般浏览器经常遇到这种情况 ,浏览器有错误,需要重置浏览器, (1).1在“开始“菜单中打开“运行“窗口,在其中输入“regsvr32actxprxy.dll“,然后“确定“,接着会出现一个信息对话框“DllRegisterServerinactxprxy.dllsucceeded“,再次点击“确定“。 2再次打开“运行“窗口,输入“regsvr32shdocvw.dll 3再次打开“运行“窗口,输入“regsvr32oleaut32.dll 4再次打开“运行“窗口,输入“regsvr32actxprxy.dll 5再次打开“运行“窗口,输入“regsvr32mshtml.dll 6再次打开“运行“窗口,输入“regsvr32msjava.dll 7再次打开“运行“窗口,输入“regsvr32browseui.dll 8再次打开“运行“窗口,输入“regsvr32urlmon.dll (2) :修复或升级浏览器,同时打上系统补丁。如果你的浏览器是IE的话 确定你的IE升级到了6.0。 下面详细解答下关于这一类问题的原因,偶尔出现无所谓 我所熟悉的0X000000该内存不能为read或者written的解决方法 硬件: 电脑硬件是很不容易坏的。内存出现问题的可能性并不大(除非你的内存真的是杂牌的一塌徒地),主要

方面是:1。内存条坏了(二手内存情况居多)、2。使用了有质量问题的内存,3。内存插在主板上的金手指部分灰尘太多。4。使用不同品牌不同容量的内存,从而出现不兼容的情况。5。超频带来的散热问题。你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。 二、如果都没有,那就从软件方面排除故障了。 原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在缓冲区,需要操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中的“光标”。内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的光标,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用光标,继续在之后的执行中使用这块内存。真正的0地址内存区储存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即当机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的内存不能为“read”错误,并指出被引用的内存地址为“0x00000000“。内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统档案之后。 在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的光标已经失效了。有可能是“忘记了”向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图“违法”的程序唯一的下场就是被操作终止执行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊!像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效光标不一定总是0,因此错误提示中的内存地址也不一定为“0x00000000”,而是其它随机数字。

内存引起的几种故障的解决 内存损坏,导致开机

内存做为电脑的五大部件之一,对电脑工作的稳定性和可靠性起着至关重要的作用。内存质量的好坏和可靠性的高低直接影响着计算机能否长时间稳定的工作。同时内存也是故障率最高的部件之一,我们在平时对电脑故障维修过程中,接触最多的也就是常说的“内存报警,开机黑屏”。在这里,我把常见的几种内存故障的表现及其原因总结出来,供大家参考。 一、最常见故障:内存损坏,导致开机 内存报警 这种故障大家经常遇到,多数是头天晚上还好好的,第二天早晨一开机,听到的不是平时“嘀”的一声,而是“嘀,嘀,嘀...”响个不停,显示器也没有图像显示。这种故障多数时候是因为电脑的使用环境不好,湿度过大,在长时间使用过程中,内存的金手指表面氧化,造成内存金手指与内存插槽的接触电阻增大,阻碍电流通过,因而内存自检错误。表现为一开机就“嘀嘀”的响个不停,也就是我们通常所说的“内存报警”。 处理方法也很简单,就是取下内存,使用橡皮将内存两面的金手指仔细的擦洗干净,再插回内存插槽就可以了。 注意:在擦洗金手指时,一定不要用手直接接触金手指,因为手上汗液会附着在金手指上,在使用一段时间后会再次造成金手指氧化,重复出现同样的故障。 不过,此类内存报警还有其他几种原因: 1.内存与主板兼容性不好 把内存插在其他主板上,长时间运行稳定可靠;把其他内存插在故障主板上也运行可靠稳定,没有报警出现。但是把二者放在一起,就出现“嘀嘀”的报警声。此类故障只能更换内存来解决。 2.主板的内存插槽质量低劣 表现为更换多个品牌内存都出现“嘀嘀”的报警声,偶尔有某一个内存不报警,但可能关机重启后又会报警。此类故障的主要出现在二三百元的低档的主板上,原因是主板的价格低,使用的内存插槽质量也差,只能更换主板解决。 3.内存某芯片故障 此类故障相对比较严重,在开机自检时主机能够发现内存存在错误缺陷,不能够通过自检,发出“嘀嘀”的报警声,提示用户检查内存。这种故障要把内存插在其他主机上,检查是否有同样的“嘀嘀”声。如果有,就可以断定是内存有问题;如果没有,就可能属于上述第1个或每2个原因。

CC++指针常见内存错误NULL指针野指针分析

C/C++指针和内存的相关问题分析 一、C/C++指针和内存的相关问题 以前在用C/C++编程的时候,经常会遇到内存读写错误,内存泄露等问题,后来记得看过一篇文章,大体意思阐述了“内存观念”全面贯彻到整个C/C++工程开发过程中的重要性和意义。因为C/C++较底层,指针的应用灵活而又功能强大,所以开发过程中,对内存的理解和把握非常必要。我今天看了几篇文章是针对C++指针和内存的一些分析和总结,觉得写的很好。我在此归纳总结了其中的一部分,包括常见的内存错误分析和NULL指针、野指针的介绍。 1.常见的内存错误及其对策 发生内存错误是件非常麻烦的事情。编译器不能自动发现这些错误,通常是在程序运行时才能捕捉到。而这些错误大多没有明显的症状,时隐时现,增加了改错的难度。常见的内存错误及其对策如下: (1)内存分配未成功,却使用了它;编程新手常犯这种错误,因为他们没有意识到内存分配会不成功。常用解决办法是,在使用内存之前检查指针是否为NULL。如果指针p是函数的参数,那么在函数的入口处用assert(p!=NULL)进行检查。如果是用malloc或new来申请内存,应该用if(p==NULL) 或if(p!=NULL)进行防错处理。 (2)内存分配虽然成功,但是尚未初始化就引用它;犯这种错误主要有两个起因:一是没有初始化的观念;二是误以为内存的缺省初值全为零,导致引用初值错误(例如数组)。内存的缺省初值究竟是什么并没有统一的标准,尽管有些时候为零值,我们宁可信其无不可信其有。所以无论用何种方式创建数组,都别忘了赋初值,即便是赋零值也不可省略。 (3)内存分配成功并且已经初始化,但操作越过了内存的边界;例如在使用数组时经常发生下标“多1”或者“少1”的操作。特别是在for循环语句中,循环次数很容易搞错,导致数组操作越界。 (4)忘记了释放内存,造成内存泄露;含有这种错误的函数每被调用一次就丢失一块内存。刚开始时系统的内存充足,你看不到错误。终有一次程序突然死掉,系统出现提示:内存耗尽。动态内存的申请与释放必须配对,程序中malloc 与free的使用次数一定要相同,否则肯定有错误(new/delete同理)。 (5)释放了内存却继续使用它;有三种情况:A程序中的对象调用关系过于复杂,实在难以搞清楚某个对象究竟是否已经释放了内存,此时应该重新设计数据结构,从根本上解决对象管理的混乱局面。B函数的return语句写错了,注意不要返回指向“栈内存”的“指针”或者“引用”,因为该内存在函数体结

相关主题