當前位置:編程學習大全網 - 源碼下載 - “0x77efbad4”命令引用的“0x77efbad4”內存在啟動時出現,不能“寫入”。問題是什麽,怎麽解決?

“0x77efbad4”命令引用的“0x77efbad4”內存在啟動時出現,不能“寫入”。問題是什麽,怎麽解決?

使用Windows操作系統的人有時會遇到以下錯誤信息:“0x 000000000 0x指令引用的內存無法寫入”,然後應用程序關閉。如果妳問壹些“專家”,得到的答案往往是“Windows這麽不穩定”之類的憤慨和不屑。其實這個錯誤不壹定是Windows的不穩定造成的。本文將簡單分析這種錯誤的常見原因。

& lt-color # 3333 ff->;& lt-/coloro-& gt;1.應用程序無法檢查內存分配

當壹個程序需要壹塊內存來存儲數據時,需要調用操作系統提供的“函數function”來申請。如果內存分配成功,函數會將新打開的內存區域的地址返回給應用程序,應用程序可以通過這個地址使用這個內存。這就是“動態內存分配”,內存地址也是編程中的“指針”。

內存並不總是可用和取之不盡的,有時內存分配會失敗。當分配失敗時,系統函數將返回值0。此時,返回值“0”不再指示新啟用的指針,而是系統發送給應用程序的壹個通知,表明發生了錯誤。作為應用程序,應該在每次內存應用後檢查返回值是否為0。如果是,則說明存在故障,需要采取壹些措施來挽救,增強了程序的“健壯性”。

如果應用程序不檢查這個錯誤,它會認為這個值是根據“思維慣性”分配給它的壹個可用指針,並在後續操作中繼續使用這個內存。真正的0地址存儲區存儲的是計算機系統中最重要的“中斷描述符表”,是絕對不允許應用程序使用的。在壹個沒有保護機制的操作系統(比如DOS)中,向這個地址寫數據會導致立即崩潰,而在壹個健壯的操作系統中,比如Windows,這個操作會立即被系統的保護機制捕獲,結果是操作系統會強制關閉錯誤的應用程序,防止其錯誤擴大。此時會出現上述“寫內存”錯誤,指出引用的內存地址為“0x00000000”。

內存分配失敗的原因有很多,比如內存不足,系統函數版本不匹配等。所以這種分配失敗多見於操作系統使用時間較長,安裝了多種應用程序(包括無意中安裝的病毒程序),大量更改系統參數和系統文件之後。

& lt-color # 3333 ff->;& lt-/coloro-& gt;第二,應用程序由於自身的錯誤而引用了壹個異常的內存指針

在使用動態分配的應用程序中,有時會發生這樣的情況,程序試圖讀寫壹個“應該可用”的內存,但由於某種原因,這個預期的可用指針已經失敗了。可能是“忘記”向操作系統要求分配,也可能是程序本身在某個時候取消了這個內存,“沒註意”等等。被註銷的內存被系統回收,其訪問權不再屬於應用程序,因此讀寫操作也會觸發系統的保護機制,而試圖“違法”的程序唯壹的最終結果就是被操作停止,收回所有資源。計算機世界的法則還是比人類有效和嚴厲得多!

像這樣的情況屬於程序本身的BUG,妳經常可以在壹個特定的操作序列中重現錯誤。無效指針不總是0,所以錯誤提示中的內存地址不壹定是“0x00000000”,也可以是其他隨機數。

如果系統經常出現上述錯誤提示,以下建議可能會有所幫助:

1.檢查系統中是否有特洛伊病毒。這類程序為了控制系統,往往會不負責任地修改系統,導致操作系統異常。平時要加強信息安全意識,千萬不要對來源不明的可執行程序感到好奇。

2.更新操作系統,使操作系統的安裝程序能夠復制正確版本的系統文件並修正系統參數。有時候操作系統本身也有bug,要註意安裝官方發布的升級程序。

3.嘗試應用程序的新版本。

問題

在運行壹些程序時,有時會出現內存錯誤提示,然後程序就會關閉。

“0x”指令引用了“0x”內存。存儲器不能被“讀取”。

0x指令引用的0x內存,不能“寫入”。

以上情況相信大家都看到了,甚至說有網友因為不滿意這種頻繁的錯誤提示,反復重裝系統。相信普通用戶應該看不懂那些復雜的十六進制代碼。

總的來說,這種現象有很多方面。壹是硬件有問題,也就是內存,二是軟件有很多問題。

& lt-color # 3333 ff->;& lt-/coloro-& gt;故障分析

硬件:

壹般來說,電腦硬件不容易壞。內存問題不太可能(除非妳的內存真的是壹堆雜牌),主要方面是:1。內存壞了(大多是二手內存),2。使用有質量問題的內存,3。插在主板上的內存金手指部分灰塵太多。4。使用不同品牌和容量的內存,導致不兼容。5。超頻導致的散熱問題。可以用軟件Memtest(綠色中文版MemTest (MemTest V3.4下載:/soft/6/162/2006/soft _ 30096.html)檢查內存,可以徹底檢查內存的穩定性。

如果是雙內存,並且不同品牌的內存條混用或者買了二手內存,就會出現這個問題。這時候就要檢查是內存有問題還是和其他硬件不兼容了。

如果沒有,則排除軟件故障:

先說原理:內存中有壹個用來存儲數據的地方叫緩沖區。當程序將數據放入緩沖區時,需要操作系統提供的“函數function”來應用。如果內存分配成功,函數會將新打開的內存區域的地址返回給應用程序,應用程序可以通過這個地址使用這個內存。這就是“動態內存分配”,內存地址也是編程中的“光標”。內存並不總是可用和取之不盡的,有時內存分配會失敗。當分配失敗時,系統函數將返回值0。此時,返回值“0”不再表示新啟用的光標,而是系統發送給應用程序的通知,表示發生了錯誤。作為應用程序,應該在每次內存應用後檢查返回值是否為0。如果是,則說明存在故障,需要采取壹些措施來挽救,增強了程序的“健壯性”。如果應用程序不檢查這個錯誤,它會認為這個值是根據“思維慣性”分配給它的可用遊標,並在後續執行中繼續使用這個內存。真正的0地址存儲區存儲的是計算機系統中最重要的“中斷描述符表”,是絕對不允許應用程序使用的。在壹個沒有保護機制的操作系統中(比如DOS),向這個地址寫數據會導致立即崩潰,而在壹個健壯的操作系統中,比如Windows,這個操作會立即被系統的保護機制捕獲,結果操作系統會強制關閉錯誤的應用程序,防止其錯誤擴大。此時會出現內存無法“讀取”的錯誤,指出引用的內存地址為“0x00000000”。內存分配失敗的原因有很多,比如內存不足,系統函數版本不匹配等。所以這種分配失敗多見於操作系統使用時間較長,安裝了多種應用程序(包括無意中“安裝”的病毒程序),大量更改系統參數和系統文件之後。

在使用動態分配的應用程序中,有時會發生這樣的情況,程序試圖讀寫壹個“應該可用”的內存,但是由於某種原因,預期的可用遊標失敗了。可能是“忘記”向操作系統要求分配,也可能是程序本身在某個時候取消了這個內存,“沒註意”等等。被註銷的內存被系統回收,其訪問權不再屬於應用程序,因此讀寫操作也會觸發系統的保護機制,而試圖“違法”的程序唯壹的最終結果就是被操作終止,收回所有資源。計算機世界的法則還是比人類有效和嚴厲得多!像這樣的情況屬於程序本身的BUG,妳經常可以在壹個特定的操作序列中重現錯誤。無效光標不壹定是0,所以錯誤提示中的內存地址不壹定是“0x00000000”,也可以是其他隨機數。

首先,建議:

1,檢查系統中是否有特洛伊木馬或病毒。這類程序為了控制系統,往往會不負責任地修改系統,導致操作系統異常。平時要加強信息安全意識,千萬不要對來源不明的可執行程序感到好奇。

2、更新操作系統,讓操作系統安裝程序復制正確版本的系統文件,修正系統參數。有時候操作系統本身也有bug,要註意安裝官方發布的升級程序。

3、盡量使用最新的正式版應用,Beta版,試用版都會有bug。

4.刪除並重新創建Winnt/System32/Wbem/Repository文件夾中的文件:右鍵單擊桌面上的“我的電腦”,然後單擊“管理”。在“服務和應用程序”下,單擊“服務”,然後關閉並停止Windows Management Instrumentation服務。刪除Winnt/System32/Wbem/Repository文件夾中的所有文件。(請在刪除之前備份這些文件。)打開服務和應用程序,單擊服務,然後打開並啟動Windows Management Instrumentation服務。當該服務重新啟動時,將根據以下註冊表項中提供的信息重新創建這些文件:HKEY _本地_機器/軟件/Microsoft/WBEM/CIMOM/autorecovermofs。

幾個例子

例1:打開IE瀏覽器或者幾分鐘後會出現“0x70dcf39f”指令引用的“0x00000000”內存。存儲器不能被“讀取”。要終止程序,請單擊“確定”。單擊“確定”後,將出現消息框“出現內部錯誤,您正在使用的壹個窗口即將關閉”。關閉這個提示信息後,IE瀏覽器也關閉了。

解決方案:

1,開始-運行窗口,輸入“REGSVR32 actxprxy.dll”回車,會出現壹個信息對話框“actxprxy.dll的DLLRegisterServer成功了”,確認。然後依次運行以下命令。(有人說這個方法沒必要,但是重新註冊那些。dll不會對系統造成損害。反正做什麽都是為了解決問題就夠了。)

shdocvw.dll註冊服務商32

oleaut32.dll註冊服務商32

actxprxy.dll註冊服務商32

mshtml.dll註冊服務商32

msjava.dll註冊服務商32

browseui.dll註冊服務商32

urlmon.dll註冊服務商32

2.修復或升級IE瀏覽器,同時給系統打補丁。我見過的修復方法之壹就是把系統恢復到初始狀態。建議將IE升級到6.0。

例2:雙擊windows xp下光盤中的“AutoRun.exe”文件,顯示“0x77f745cc”指令引用的“0x00000078”內存。存儲器不能被“寫入”。要終止程序,單擊“確定”,但它在Windows 98中正常運行。

解決方法:這可能是系統的兼容性問題。對於winXP系統,右擊“AutoRun.exe”文件,屬性和兼容性,選擇“在兼容模式下運行此程序”,選擇“Windows 98/Me”。Win2000,如果SP打了補丁,只要啟動運行,輸入:regsvr 32 c:/win nt/app patch/slayer ui.dll。右鍵單擊,屬性和兼容性選項也會出現。

例3:關閉RealOne Gold時出現錯誤。以前是正常的,但是最近“0xffffffff”指令引用的“0xffffffff”內存在每次關閉時都會出現。這種記憶不可能是“已讀”的暗示。

解決方法:當使用的輸入法是微軟拼音輸入法2003,並且語言欄是隱藏的(不隱藏的時候沒問題),關閉RealOne的時候會出現這個問題,所以妳可以在關閉RealOne之前顯示語言欄或者使用其他任何輸入法作為當前輸入法來解決這個問題。

例4:我的英雄超級解霸從上網開始就玩不了了。每次提示“Ox060692f6”命令引用的“Oxff000011”內存無法“讀取”時,請按OK終止程序。

解決方法:嘗試重裝英雄超級解霸。如果是重裝,可以嘗試從官網下載相應版本的補丁。還沒有,所以我不得不嘗試另壹個球員。

例子5:雙擊遊戲的快捷方式。“Ox77f5cdO”指令指的是“Oxffffffff”內存,無法“讀取”,提示Client.dat程序錯誤。

解決方法:重新安裝顯卡最新驅動,然後下載安裝DirectX9.0。

例6:朋友給我發消息,我的電腦得到錯誤信息:“0*772b548f”命令引用的“0*00303033”內存無法“寫入”,然後QQ自動下線,然後我打開QQ發現他發的十幾條消息。

解決方法:這是對方利用QQ的BUG發送特殊代碼,在QQ中出錯。只要打補丁或者升級到最新版本就沒事了。

例7:我筆記本電腦用的XP系統,網頁關閉時有時會彈出。tbrowser.exe遇到問題需要關閉時,彈出指令0x03e7c738引用的內存0x03e7c738,無法讀取。發生了什麽事?

解決方法:先殺毒,如果已經安裝了瀏覽增強等軟件,請卸載。

示例8:當從桌面或“開始”菜單打開任何程序時,都會出現壹條錯誤消息:“0x00000000”內存被“0x ...”引用指令不能被“讀取”。省略號代表壹個變量值。而且從運行中打開程序也沒問題。

解決方法:運行regedit進入註冊表,在HKEY _ local _ machine/software/Microsoft/Windows/current version/Explorer/shellee execute鉤子下,應該只有壹個正常的鍵值“{ aeb 6717e-7e 19-11d 0-97ee-00c 04 FD 91972 }”,其他的都要刪除(當然默認的鍵值也不應該刪除)。

《出埃及記》我三個月前買了壹臺機器。系統不穩定。系統三個月重裝了很多次,四五天前才剛剛安裝,但是經常會出現隨機的Explorer- application錯誤。“0x4a01259d”指令指的是“0x00000000”存儲器。存儲器不能被“讀取”。要終止程序,請單擊“確定”。若要調試程序,請單擊“取消”。如果您單擊確定,windows桌面將會消失。之前的系統也出現過這個問題。不知道是不是硬件問題?

解決方法:內存兼容問題!如果出現這種問題,用戶可以打開機器,調整內存的位置,看看是否可以解決問題。如果問題仍然存在,他們可以與妳的朋友交換記憶。

通過上面的例子,我們可以看出失敗的原因是多方面的。下面列出了已經提到的和可能出現的原因,方便參考。

問題的原因-解決方案

記憶棒壞了-更換它。

雙內存不兼容-使用相同品牌的內存或僅使用壹個內存。

內存質量問題-更換內存條

散熱問題——加強機箱內部散熱

內存和主板沒有正確插入或與其他硬件不兼容等。-重新插入內存或更換內存。

硬盤有問題-更換硬盤

驅動器問題-重新加載驅動器。如果是新系統,要先安裝主板驅動。

軟件損壞-重新安裝軟件

軟件有缺陷,修補壹下或者使用最新版本。

軟件和系統不兼容-修補軟件或嘗試系統的兼容模式。

軟件和軟件是有沖突的——如果最近有什麽新軟件裝了,卸載試試。

使用其他相關軟件有問題——重裝相關軟件。比如播放某種格式的文件時出現錯誤,可能是這個文件的解碼器有問題。

病毒問題-防病毒

殺毒軟件與系統或軟件沖突——因為殺毒軟件進入底層監控系統,可能會與某些軟件沖突,所以嘗試卸載。

系統本身有問題——有時候操作系統本身也有bug,註意安裝官方發布的l。

  • 上一篇:圖像平均池
  • 下一篇:Ng源課程
  • copyright 2024編程學習大全網