日期:2011-01-25 01:59:00  来源:本站整理

运行某些程序的时刻,为什么会呈现内存错误提醒?[Windows安全]

赞助商链接



  本文“运行某些程序的时刻,为什么会呈现内存错误提醒?[Windows安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

运行某些程序的时刻,有时会呈现内存错误的提醒,然后该程序就关闭.
“0x????????”指令引用的“0x????????”内存.该内存不能为“read”.
“0x????????”指令引用的“0x????????”内存,该内存不能为“written”.
普通呈现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了.
1、微软IE缓冲溢出漏洞惹起
2、内存或虚拟内存地址利用冲突造成
程序的运行需求分配一定的内存地址给程序利用,当程序完毕时释放留出空间让给新的程序利用,win是多任务的系统
有时前途序未完毕 又有新的任务开始
到底要多少内存或虚拟内存来保证我们同时运行的工作任务呢?大概win在这个问题上没弄好,所以有此错误常常发生,普通运行大型软件或多媒体后呈现这种情形
3、劣质内存条也会呈现这个问题
普通来说,内存呈现问题的大概性并不大,主要方面是:内存条坏了、内存质量有问题,还有就是2个差别牌子差别容量的内存混插,也对比简单呈现不兼容的情形,同时还要注意散热问题,分外是超频后.你可以利用MemTest
这个软件来检测一下内存,它可以完好的检测出内存的安定度.
假定你是双内存,并且是差别品牌的内存条混插大概买了二手内存时,呈现这个问题,这时,你就要查抄是不是内存出问题了大概和别的硬件不兼容.
4、微软WINDOWS系统的漏洞,
windows把内存地址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、大概没有完好精确安装apache服务,且启动了它的原故; 把服务中的
OracleOraHomeXXHTTPServer改成终止
6、利用程序没有查抄内存分配失利
程序需求一块内存用以保存数据时,就需求调用操作系统供应的“功效函数”来申请,假如内存分配成功,函数就会将所新开辟的内存区地址返回给利用程序,利用程序便可以通过这个地址利用这块内存.这就是“动态内存分配”,内存地址也就是编程中的“指针”.
内存不是永久都招之即来、用之不尽的,有时刻内存分配也会失利.当分配失利时系统函数会返回一个0值,这时返回值“0”已不表示新启用的指针,而是系统向利用程序发出的一个告诉,奉告呈现了错误.作为利用程序,在每一次申请内存后都应当查抄返回值能否为0,假如是,则意味着呈现了弊端,应当采纳一些办法解救,这就加强了程序的“结实性”.
若利用程序没有查抄这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用指针,持续在之后的运行中利用这块内存.真正的0地址内存区保存的是计算机系统中最重要的“中止描写符表”,绝对不答应利用程序利用.在没有保护机制的操作系统下(如DOS),写数据到这个地址会招致当即死机,而在结实的操作系统中,如Windows等,这个操作会即刻被系统的保护机制捕捉,后来果就是由操作系统强行关闭出错的利用程序,以避免其错误扩大.这时刻,就会呈现上述的“写内存”错误,并指出被引用的内存地址为“0x00000000”.
内存分配失利弊端的缘由很多,内存不够、系统函数的版本不匹配等都大概有影响.因此,这种分配失利多见于操作系统利用很长时间后,安装了多种利用程序(包含无意中“安装”的病毒程序),更改了大量的系统参数和系统文件之后.
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_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\WBEM\\CIMOM\\Autorecover
MOFs
下面我从几个例子给大家解析:
例一:翻开IE浏览器大概没过几分钟就会呈现"0x70dcf39f"指令引用的"0x00000000"内存.该内存不能为“read”.要终止程序,请单击“肯定”的信息框,单击“肯定”后,又呈现“发生内部错误,您正在利用的此中一个窗口行将关闭”的信息框,关闭该提醒信息后,IE浏览器也被关闭.
办理办法:修复或进级IE浏览器,同时打上补钉.看过此中一个修复办法是,Win2000自进级,也就是Win2000进级到Win2000,其实这种办法也就是把系统复原到系统初始的状况下.比方你的IE进级到了6.0,自进级后,会被IE5.0替换.

例二:在windows
xp下双击光盘里面的“AutoRun.exe”文件,显示“0x77f745cc”指令引用的“0x00000078”内存.该内存不能为“written”,要终止程序,请单击“肯定”,而在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”内存,该内存不能为“written”,然后QQ自动下线,而再翻开QQ,发现了他发过来的十几条的信息.
办理办法:这是对方操纵QQ的BUG,发送特别的代码,做QQ出错,只要打上补钉或进级到最新版本,就没事了.   以上是“运行某些程序的时刻,为什么会呈现内存错误提醒?[Windows安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 运行某些程序的时刻,为什么会呈现内存错误提醒?
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .