本文為大家介紹我的電腦老是內(nèi)存報錯,如何解決問題(電腦內(nèi)存報錯解決辦法),下面和小編一起看看詳細內(nèi)容吧。
我先說說你的故障和解決方法,然后我們分析為什么會出現(xiàn)類似的問題?
癥狀:從桌面或開始菜單打開任何程序,出現(xiàn)錯誤信息:'0x.'命令引用的內(nèi)存'0x00000000'無法'讀取'。橢圓代表變量值。從“運行”打開程序是沒有問題的。
解決辦法:運行regedit進入注冊表,在hkey_local_machinesoftwaremicrosoftwindowscurrentversionexplorershellexecutehooks下,應該只有一個正常的鍵值'{aeb6717e-7e19-11d0-97ee-00c04fd91972},把其他的刪掉(當然不要刪除默認鍵值)。
解釋分析:
運行某些程序時,有時會出現(xiàn)內(nèi)存錯誤提示,然后程序就會關(guān)閉。
“0x?” “0x?”引用的內(nèi)存操作說明。內(nèi)存無法“讀取”。
0x?指令指的是“0x?”無法“寫入”的記憶
以上情況相信大家應該都見過,甚至表示有網(wǎng)友因為不滿這種頻繁的報錯信息而反復重裝系統(tǒng)。相信普通用戶應該看不懂那些復雜的十六進制代碼。
這種現(xiàn)象有幾個原因。一是硬件,也就是內(nèi)存有問題,二是軟件。有很多問題。
一:先說一下硬件:
一般來說,電腦硬件不容易壞。內(nèi)存出問題的可能性不大(除非你的內(nèi)存真的是亂七八糟的雜牌),主要有幾個方面:1.內(nèi)存條壞了(多為二手內(nèi)存),2.使用有質(zhì)量的內(nèi)存問題, 3. 主板上插內(nèi)存的金手指灰塵太多。 4、使用不同品牌不同容量的內(nèi)存,導致不兼容。 5、超頻引起的散熱問題。可以使用memtest軟件對內(nèi)存進行測試,它可以徹底檢測內(nèi)存的穩(wěn)定性。
其次,如果沒有,則從軟件方面進行故障排除。
先說原理:內(nèi)存有一個存放數(shù)據(jù)的地方叫緩沖區(qū)。程序?qū)?shù)據(jù)放入緩沖區(qū)時,需要申請操作系統(tǒng)提供的“函數(shù)函數(shù)”。如果內(nèi)存分配成功,函數(shù)會將新開辟的內(nèi)存區(qū)地址返回給應用程序,應用程序可以通過這個地址使用這塊內(nèi)存。這就是“動態(tài)內(nèi)存分配”,內(nèi)存地址也就是編程中的“游標”。內(nèi)存并不總是可用和用之不竭的,有時內(nèi)存分配會失敗。當分配失敗時,系統(tǒng)函數(shù)會返回一個0值。此時,返回值“0”并不是表示新啟用的游標,而是系統(tǒng)向應用程序發(fā)送的一個通知,告知有一個錯誤發(fā)生。作為一個應用程序,每次申請內(nèi)存后,應該檢查返回值是否為0,如果是,則說明失敗了,應該采取一些措施來挽救,增強了程序的“健壯性” .如果應用程序不檢查這個錯誤,它會認為這個值是根據(jù)“思維慣性”分配給它的可用游標,并在后續(xù)執(zhí)行中繼續(xù)使用這塊內(nèi)存。真正的0地址內(nèi)存區(qū)存放著計算機系統(tǒng)中最重要的“中斷描述符表”,絕對不允許應用程序使用。在沒有保護機制的操作系統(tǒng)(如dos)中,向該地址寫入數(shù)據(jù)會導致立即崩潰,而在健壯的操作系統(tǒng)中,如windows,這種操作會立即被系統(tǒng)的保護機制捕獲,并且結(jié)果是錯誤的應用程序被操作系統(tǒng)強行關(guān)閉,以防止其錯誤傳播。這時候就會出現(xiàn)上述的memory cannot be read錯誤,提示引用的內(nèi)存地址為“0x00000000”。內(nèi)存分配失敗的原因有很多,比如內(nèi)存不足,系統(tǒng)函數(shù)版本不匹配等等。因此,這種分配失敗在操作系統(tǒng)使用時間長、安裝了各種應用程序(包括無意“安裝”的病毒程序)、大量系統(tǒng)參數(shù)和系統(tǒng)文件已更改。
在使用動態(tài)分配的應用程序中,有時會發(fā)生程序試圖讀取或?qū)懭胍粔K“應該可用”的內(nèi)存,但由于某種原因,預期可用的游標已經(jīng)過期??赡苁撬巴洝毕虿僮飨到y(tǒng)申請分配,也可能是程序本身在某個時候取消了這塊內(nèi)存而“沒有注意”等等。未注冊的內(nèi)存被系統(tǒng)回收,其訪問權(quán)限不再屬于應用程序。因此,讀寫操作也會觸發(fā)系統(tǒng)的保護機制。試圖“非法”的程序的唯一結(jié)束是被操作終止并回收所有資源。電腦世界的法律還是比人類有效和嚴格得多!像這樣的情況都是程序本身的bug,你經(jīng)常可以按照特定的操作順序重現(xiàn)錯誤。無效游標并不總是0,所以報錯信息中的內(nèi)存地址不一定是“0x00000000”,而是其他隨機數(shù)。
首先建議:
1、檢查系統(tǒng)是否有木馬或病毒。此類程序往往為了控制系統(tǒng)而不負責任地修改系統(tǒng),導致操作系統(tǒng)異常。平時應加強信息安全意識,切勿對來源不明的可執(zhí)行程序感到好奇。
2、更新操作系統(tǒng),讓操作系統(tǒng)的安裝程序重新拷貝正確版本的系統(tǒng)文件,修正系統(tǒng)參數(shù)。有時操作系統(tǒng)本身有bug,所以要注意安裝官方發(fā)布的升級程序。
3.盡量使用最新的正式版應用,內(nèi)測版,試用版會有bug。
4.刪除并重新創(chuàng)建winntsystem32wbemrepository文件夾中的文件:右鍵單擊桌面上的我的電腦,然后單擊管理。在“服務(wù)和應用程序”下,單擊服務(wù),然后關(guān)閉并停止windows managementinstrumentation 服務(wù)。刪除winntsystem32wbemrepository 文件夾中的所有文件。 (在刪除之前備份這些文件。)打開“服務(wù)和應用程序”,單擊“服務(wù)”,然后打開并啟動windows managementinstrumentation 服務(wù)。當服務(wù)重新啟動時,將根據(jù)以下注冊表項中提供的信息重新創(chuàng)建這些文件:hkey_local_machinesoftwaremicrosoftwbemcimomautorecovermofs
好了,我的電腦老是內(nèi)存報錯,如何解決問題(電腦內(nèi)存報錯解決辦法)的介紹到這里就結(jié)束了,想知道更多相關(guān)資料可以收藏我們的網(wǎng)站。