電腦為何老是提示"應用程序出錯"0*0552dfd"指令引用的"0*00000000"內存.該內存不能為"real" 要終止程序,請單擊"確定"要調試程序,"請單擊"取消". 請問這是怎么搞得?
熱心網友
我的機子是華碩主板,有時也會提示這樣的問題,單擊確定即可,使用一段時間后,就不再提示了,也就是說,內存適應了主板。放心使用吧。
熱心網友
一、應用程序沒有檢查內存分配失敗 程序需要一塊內存用以保存數據時,就需要調用操作系統提供的“功能函數”來申請,如果內存分配成功,函數就會將所新開辟的內存區地址返回給應用程序,應用程序就可以通過這個地址使用這塊內存。這就是“動態內存分配”,內存地址也就是編程中的“指針”。 內存不是永遠都招之即來、用之不盡的,有時候內存分配也會失敗。當分配失敗時系統函數會返回一個0值,這時返回值“0”已不表示新啟用的指針,而是系統向應用程序發出的一個通知,告知出現了錯誤。作為應用程序,在每一次申請內存后都應該檢查返回值是否為0,如果是,則意味著出現了故障,應該采取一些措施挽救,這就增強了程序的“健壯性”。 若應用程序沒有檢查這個錯誤,它就會按照“思維慣性”認為這個值是給它分配的可用指針,繼續在之后的運行中使用這塊內存。真正的0地址內存區保存的是計算機系統中最重要的“中斷描述符表”,絕對不允許應用程序使用。在沒有保護機制的操作系統下(如DOS),寫數據到這個地址會導致立即死機,而在健壯的操作系統中,如Windows等,這個操作會馬上被系統的保護機制捕獲,其結果就是由操作系統強行關閉出錯的應用程序,以防止其錯誤擴大。這時候,就會出現上述的“寫內存”錯誤,并指出被引用的內存地址為“0x00000000”。 內存分配失敗故障的原因很多,內存不夠、系統函數的版本不匹配等都可能有影響。因此,這種分配失敗多見于操作系統使用很長時間后,安裝了多種應用程序(包括無意中“安裝”的病毒程序),更改了大量的系統參數和系統文件之后。 二、應用程序由于自身BUG引用了不正常的內存指針 在使用動態分配的應用程序中,有時會有這樣的情況出現:程序試圖讀寫一塊“應該可用”的內存,但不知為什么,這個預料中可用的指針已經失效了。有可能是“忘記了”向操作系統要求分配,也可能是程序自己在某個時候已經注銷了這塊內存而“沒有留意”等等。注銷了的內存被系統回收,其訪問權已經不屬于該應用程序,因此讀寫操作也同樣會觸發系統的保護機制,企圖“違法”的程序唯一的下場就是被操作終止運行,回收全部資源。計算機世界的法律還是要比人類有效和嚴厲得多啊! 像這樣的情況都屬于程序自身的BUG,你往往可在特定的操作順序下重現錯誤。無效指針不一定總是0,因此錯誤提示中的內存地址也不一定為“0x00000000”,而是其他隨機數字。 如果系統經常有所提到的錯誤提示,下面的建議可能會有幫助: 1。查看系統中是否有木馬或病毒。這類程序為了控制系統往往不負責任地修改系統,從而導致操作系統異常。平常應加強信息安全意識,對來源不明的可執行程序絕不好奇。 2。更新操作系統,讓操作系統的安裝程序重新拷貝正確版本的系統文件、修正系統參數。有時候操作系統本身也會有BUG,要注意安裝官方發行的升級程序。 3。試用新版本的應用程序。 今天我們就來分析一下,為什么會現出內存報警,出現內存存報警后,如何解決此類問題? 內存報警的根本原因有: 1)。內存損壞。 2)。主板的內存插槽損壞。 3)。主板的內存供電或相關電路有問題。 4)。內存與內存插槽接觸不良。 上述的1,2,3種故障都屬于實實在在的硬件故障,我們可以通過替換排除法,查出故障元件,再對壞件進行維修或更換就能解決。對于第4種情況,我們遇到的最多,什么元件也沒有損壞,就是二者接觸不良造成的。 內存與主板接觸不良的原因有: 1)。內存插槽變形 這種故障不是很常見,一般見于主板有形變,內存插槽有損壞,裂縫等現象,當我們把內存插入內存插槽時時就會出現部分接觸不良的情況,當主機加電開機自檢時就不能通過,就會出現連續的短“嘀”聲,也就是大家常說的“內存報警”。對于主板形變,內存插槽變形的現象我們可以在內存插好后通過使用尼龍扎帶緊固,再輔以打膠的方法來解決此類問題。 不過,在拔插內存的過程中我們一定要注意內存的方向,雖然內存條和內存插槽有防呆設計,但是還有有許多菜鳥仍然把內存插反,造成內存條和內存插槽個別引腳燒熔的情況,這時只能放棄使用損壞的內存插槽。對于引腳燒熔的內存條,我們可以仔細檢查一下,如果只是77和85接地端燒熔,也或許是其他內存條的接地端,即使把金手指燒得脫落了,這樣的內存條因是接地端在反插時把電源正與地短路了,才造成打火燒毀內存條的金手指和內存插槽的引腳,而內存芯片卻沒有受到任何損傷,所以這樣的內存條我們只要把其插在正常的內存插槽上就可以正常使用。 有時我們還要注意內存插中是否有其他異物,因為如果有其他異物在內存插槽里,當插入內存時內存就不能插到底,內存無法安裝到位,當然就會出現開機報警現象。當我們多次拔插內存仍不能解決問題時,最好仔細檢查一下內存插槽是否變形,是否有引腳變形或損壞,脫落,插槽里是否有異物等情況,這樣做對我們排除故障很有幫助。 2)。內存金手指氧化 這種情況最容易出現,一般見于使用半年或一年以上的機器。當天氣潮濕或天氣溫度變化較大時,就會出現昨天機器工作還好好的,可第二天早晨開機時即發現無法正常開機,顯示器黑屏,只聽得機內“嘀嘀“直響。 這種情況如果只是偶爾一次也不值得大驚小怪,只要拆開機箱把內存條重插一下就可以了。不過如果這種故障每個月都發生一次或者一個星期或半個月就要出現一次,那就要考慮是不屬于內存條與主板兼容性不好的問題了,也就是下面要說的第3種類型的問題。 預防的方法: (1)。采用第1種問題中所說的緊固方法解決; (2)。再就是安裝和檢修時,一定不能用手直接接觸內存插槽的金手指,因為我們手上的汗液會粘附在內存條的金手指上,如果內存的金手指做工不良或根本沒有進行鍍金工藝處理,那么內存條在使用過程中就很容易出現金手指氧化的情況,時間長了就會導致內存條與內存插槽接觸不良,最后開機內存報警。對于內存條氧化造成的開機報警,我們不能簡單的重新拔插一下內存了事,必須小心的使用橡皮把內存條的金手指認真擦一遍,擦得發亮為止,再插回去就可以了。 (3)。還有就是即使我們不經常使用電腦,也要每隔一個星期做到起碼開機一次,讓機器運行一兩個小時,利用機器自身產生的熱量把機器內部的潮氣驅走,保持機器良好的運行狀態。 3)。內存與主板兼容性不好這種問題最難處理,也很難確定,故障出現的周期比較頻繁,但是分別測試內存條和主板時往往又發現不了問題,處理起來非常麻煩。我在實際工作中,遇到最多的就是捷波主板與茂矽內存,這兩者在一起使用經常出現開機內存報警的現象,拔插內存后故障消失,但是要不了一個月肯定還會再次出現。要想徹底解決只有更換其他牌號內存才行。 常見的故障主板類型有: 1)。捷波J-694AST2與茂矽SDRAM128M內存,KINGMAX128M 2)。捷波P4MFM主板與茂矽SDRAM 256M內存 3)。捷波P4XFA主板與茂矽PC266 128MDDR內存。