国语自产精品视频在线看:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|厂商大全

国语自产精品视频在线看

技术教程
您的位置:首页硬件天地 → 该内存不能为“read”的原因是什么

该内存不能为“read”的原因是什么

我要评论 2012/01/16 13:22:25 来源:国语自产精品视频在线看 编辑:downcc.com [ ] 评论:0 点击:423次

该内存🔆不能为“read”的原因【de yuán yīn】是在是【shì zài shì】太多太【tài duō tài】🤐多了【duō le】,只要是🏓Windows系统🍃,只要是🏓X86或者现【huò zhě xiàn】🌴在64位也不例外🎏,都会出现这种🌹问题.这是一个【gè】BUG或者是文件错【wén jiàn cuò】误导致.

该内存不能为“read”的原因是什么_国语自产精品视频在线看

运行某些程序【xiē chéng xù】🔞的时候,有时会【yǒu shí huì】🎨出现内存错误的提示,然后该程序就【chéng xù jiù】关闭🚪。

“0x????????”指令引用的【yòng de】🛺“0x????????”内存【nèi cún】。该内存【nèi cún】不能为🍙“read”。

“0x????????”指令引【zhǐ lìng yǐn】用的“0x????????”内存,该内存【gāi nèi cún】🕶不能为🐵“written”。

不知你出现过类似这样【yàng】的故🛅障吗?(0x后面内【hòu miàn nèi】容有可【róng yǒu kě】🔸能不一样【yàng】🤟。)

一般出【yī bān chū】现这个👟现象有方面的【fāng miàn de】,一是硬👕件【jiàn】,即内存方面有【fāng miàn yǒu】问题,二是软🧒件【jiàn】,这就有🥋多方面的【fāng miàn de】问题了【le】🆚。

1、微软IE缓冲溢出漏洞引起

2、内存或虚拟内存地址使用冲突造成

程序的运行需要分配【yào fèn pèi】一定的内存地⚽址给程序使用【xù shǐ yòng】,当程序【dāng chéng xù】结束时【jié shù shí】释放留出空间【chū kōng jiān】让给新【ràng gěi xīn】🧥的程序【de chéng xù】使用【shǐ yòng】,win是多任务的系🏯统【tǒng】 有时前程序未结束 又有新的任务开始🥗 到底要【dào dǐ yào】多少内存或虚⛅拟内存【nǐ nèi cún】⚾来保证🌀我们同时运行🏳的工作💧任务呢🌹?也许📦win在这个问题上没弄好,所以有此错误【cǐ cuò wù】常常发生👯,一般运【yī bān yùn】🐍行大型【háng dà xíng】👃软件或多媒体🚫后出现这种情况【kuàng】

3、劣质内存条也会出现这个问题

一般来🌔说,内存【nèi cún】🚃出现问【chū xiàn wèn】题【tí】🆗的可能【de kě néng】🧠性并不【xìng bìng bú】大🧔,主要方面是【shì】:内存【nèi cún】🚃条坏了、内存【nèi cún】🚃质量有【zhì liàng yǒu】问题【tí】🆗,还有就是【shì】2个不同【gè bú tóng】牌子不【pái zǐ bú】同容量的内存【nèi cún】🥉混插,也比较容易出【róng yì chū】现不兼容的情✏况,同时还🐒要注意【yào zhù yì】散热问题【tí】🆗,特别是【tè bié shì】超频后【chāo pín hòu】。你可以使用MemTest 这个软件来检测一下🏖内存【nèi cún】🚃,它可以彻底的检测出🚼内存【nèi cún】的🧦稳定度🐿。

假如你【jiǎ rú nǐ】是双内存,而且是不同品牌的内🚘存条混【cún tiáo hún】🆑插或者买了二手内存【shǒu nèi cún】🌋时🤠,出现这📨个问题【gè wèn tí】,这时🤠,你就要检查是【jiǎn chá shì】不是内【bú shì nèi】存出问题了或【tí le huò】者和其🛫它硬件不兼容🏐。

4、微软WINDOWS系统的漏洞

windows把内存地址【dì zhǐ】🐾0X00000000到0X0000ffff指定为分配【fèn pèi】null指针🔌的地址【dì zhǐ】范😷围【wéi】🌓,如果程【rú guǒ chéng】序试图🏋访问✔这一地址【dì zhǐ】📅,则认为是错误【wù】🐙。c/c++编写的程序通常不进🚰行严格【háng yán gé】的错误【de cuò wù】🐙检查【jiǎn chá】🌏,当采用malloc来分配【lái fèn pèi】内存而可供分配【fèn pèi】的地💎址空间不够的【bú gòu de】情况下🔇返回null指针🔌。但是代码不检查【jiǎn chá】🌏这种错【zhè zhǒng cuò】误【wù】🐙,认为地【rèn wéi dì】址🐾分配【fèn pèi】已经成功🕋,于是就【yú shì jiù】访问✔0X00000000的地址【dì zhǐ】🐾,于是就【yú shì jiù】发生内【fā shēng nèi】存违规🐍访问✔,同时该【tóng shí gāi】进程被终止。

5、可能没🛬有完全🏤正确安装【zhuāng】apache服务,且启动🦒了它的【le tā de】原故👘; 把服务中的 OracleOraHomeXXHTTPServer改成停【gǎi chéng tíng】止【zhǐ】

6、应用程序没有检查内存分配失败

程序【chéng xù】💄需要一块🚟内存用以保存数据时【shù jù shí】🌄,就需要调用操作系统😌提供的“功能函【gōng néng hán】数”来申请【lái shēn qǐng】,如果内存分配【cún fèn pèi】🈷成功,函数就会将所【huì jiāng suǒ】新开辟【xīn kāi pì】📭的内存区地址【qū dì zhǐ】返回给应用程【yīng yòng chéng】⛓序💄,应用程【yīng yòng chéng】⛓序就可💿以通过这个地址使用【zhǐ shǐ yòng】🔹这块内存。这就是【zhè jiù shì】“动态内👔存分配【cún fèn pèi】🈷”,内存地🕓址也就是编程🌦中的“指针”。

内存不是永远都招之【dōu zhāo zhī】即来、用之不尽的【jìn de】,有时候内存分【nèi cún fèn】配也会【pèi yě huì】🥣失败。当分配【dāng fèn pèi】失败时系统函数会返回一个0值,这时返回值“0”已不表🦎示新启用的指👦针,而是系【ér shì xì】统向应用程序🚫发出的一个通知🕰,告知🕰出现了错🏚误。作为应用程序🚫,在每一【zài měi yī】次申请🔢内存后【nèi cún hòu】都应该🏍检查返回值是【huí zhí shì】🕠否为🤘0,如果是🆘,则意味【zé yì wèi】着出现🛂了故障,应该采【yīng gāi cǎi】📎取一些【qǔ yī xiē】🍄措施挽【cuò shī wǎn】救【jiù】,这就增【zhè jiù zēng】🛋强了程【qiáng le chéng】🔨序的“健壮性”。

若应用【ruò yīng yòng】程序【chéng xù】📅没有检【méi yǒu jiǎn】查这个错误🆙,它就会按照“思维惯【sī wéi guàn】性【xìng】”认为这【rèn wéi zhè】🛎个值是给它分➗配的【de】😿可用指针,继续在之后的【de】😿运行中【zhōng】使用🈵这块内存。真正的【de】😿0地址内【dì zhǐ nèi】存区保【cún qū bǎo】🐻存的【de】😿是计算机【jī】🖇系统【tǒng】中【zhōng】最重要的【de】😿“中【zhōng】断描述符表【shù fú biǎo】🔨”,绝对不允许应用程序【chéng xù】📅使用🈵。在没有🚲保护机【jī】🎮制的【de】😿操作系【cāo zuò xì】统【tǒng】🍺下(如🛣DOS),写数据到这个地址会【dì zhǐ huì】👻导致立【dǎo zhì lì】即死机【jī】,而在健【ér zài jiàn】🐞壮的【de】😿操作系【cāo zuò xì】统【tǒng】🍺中【zhōng】,如🛣Windows等,这个操🌀作会马【zuò huì mǎ】上被系统【tǒng】的【de】😿保护机【jī】🎮制捕获,其结果【qí jié guǒ】就是由操作系【cāo zuò xì】统【tǒng】🍺强行关闭出错的【de】应💫用程序【chéng xù】📅,以防止【yǐ fáng zhǐ】🎞其错误🆙扩大【kuò dà】。这时候【zhè shí hòu】🔥,就会出🔬现上述🏼的【de】😿“写内存”错误🆙,并指出被引用【bèi yǐn yòng】的【de】😿内存地址为【zhǐ wéi】“0x00000000”。

内存分配失败【pèi shī bài】📌故障的🧥原因很多【duō】💱,内存不够【gòu】、系统函数的版本不匹配等都【pèi děng dōu】😿可能有影响👓。因此,这种分【zhè zhǒng fèn】配失败【pèi shī bài】📌多【duō】💱见于操作系统【zuò xì tǒng】使用很长时间后🦗,安装了多种应【duō zhǒng yīng】💯用程序🚜(包括无【bāo kuò wú】🎍意中【yì zhōng】“安装”的病毒【de bìng dú】程序⏹),更改了大量的【dà liàng de】⛹系统参数和系统文件之后。

7、应用程【yīng yòng chéng】🚺序由于【xù yóu yú】自身【zì shēn】🥓BUG引用了🎇不正常的内存指针

在使用🛣动态分配的应👾用程序【chéng xù】🏯中,有时会【yǒu shí huì】有这样的情况🍺出现:程序【chéng xù】试😍图读写一块👎“应该可🐝用”的内存,但不知😈为什么,这个预🔙料中可♓用的指🤸针已经【zhēn yǐ jīng】失效了【shī xiào le】。有可能是“忘记了【wàng jì le】”向操作【xiàng cāo zuò】系统要🦅求分配,也可能是程序【chéng xù】自己在【zì jǐ zài】某个时候已经注销了【zhù xiāo le】😣这块内【zhè kuài nèi】🖥存而“没有留【méi yǒu liú】意🏊”等等【děng děng】。注销了【zhù xiāo le】😣的内存被系统回收【huí shōu】🔕,其访问权已经不属于该应用【gāi yīng yòng】🥈程序【chéng xù】,因此读【yīn cǐ dú】🈳写操作【xiě cāo zuò】也同样会触发【huì chù fā】系统的😻保护机制,企图🚤“违法”的程序【chéng xù】唯一的下场就是被操【shì bèi cāo】作终止运行,回收【huí shōu】🔕全部资【quán bù zī】源【yuán】🧟。计算机世界的【shì jiè de】😇法律还【fǎ lǜ hái】是要比人类有效和严厉得多【lì dé duō】啊【ā】!

像这样的情况都属于程序自身的BUG,你往往【nǐ wǎng wǎng】🥑可在特定的操作顺序下重现☔错误【cuò wù】📓。无效指【wú xiào zhǐ】针不一定总是0,因此错【yīn cǐ cuò】误📓提示中【tí shì zhōng】的内🍖存地址🌥也不一【yě bú yī】定为“0x00000000”,而是其【ér shì qí】他随机数字【shù zì】🔢。

关键词:内存,read

阅读本文后您有什么感想? 已有 人给出评价!

  • 1 欢迎喜欢
  • 119 白痴
  • 1 拜托
  • 1 哇
  • 2 加油
  • 1 鄙视