各電腦高手請進!!!!!!!!!!!!!!!!!!!

2006-11-18 7:04 am
點解部機成日都彈咗一個視窗出黎話:
*******************************************************
"0x00000000"參考指令"0x00000000" 記憶體.
該記憶體不能為"read".
請按[確定] 終止程式
請按[取消] 進行程式偵錯
*******************************************************
這個讓我開這個程式不行,那個程式不行,很煩!!請務必HELP我解決這難題!!!!!!!!!!!!!!!!!

回答 (1)

2006-11-18 7:08 am
✔ 最佳答案
會產生這種錯誤的原因有幾種
1. 記憶體模組損毀(硬體)
2. 應用程式沒有檢查記憶體分配失敗(軟體)
3. 應用程式使用了不正常的記憶體指標(軟體)

1.如果是硬體問題,那可以用一些記憶體測試軟體去檢
 測出來,如 MemTest


2.當應用程式需要一塊記憶體用來儲存資料時,就會透過系統提
 供的 System Call 去跟系統要求一塊記憶體區間,如果記憶體
 分配成功,系統會將這塊記憶體區間的位址回傳給應用程式,
 而問題發生的原因就在於,當記憶體分配失敗時系統會回傳代
 表配置錯誤的 0 值,而如果應用程式沒有去對其做適當的處理
 ,而以為這是系統分配給他的記憶體位址 0,所以試圖去對它
 進行操作,位址 0 的記憶體區間存放的是IDT,不允許被操作
 而被作業系統的保護機制攔截下來,而應用程式也會被作業系
 統強制終止。如果錯誤訊息指出的位址為 0x00000000,那通常
 就是這樣的原因導致的。

3.應用程式試圖去存取一塊它認為是合法的記憶體,而實際上那
 塊記憶體區間已經歸還給系統了,或者根本是忘記向系統要求
 記憶體區間,那麼該塊記憶體區間的使用權當然也就不屬於該
 應用程式,而應用程式試圖去存取,於是,會被保護機制所攔
 截下來,而此應用程式也會被強制終止。這種錯誤出現的錯誤
 訊息指出的位址則要視欲被違法存取的記憶體位址而定,而並
 非一定是 0x00000000。

解決方法

1.
  換掉損毀的記憶體
2,3.
  (1) 作業系統的 Prefetch(預先讀取以加快載入速度) 技術
    導致的問題,將 \WINDOWS\Prefetch\ 裡的 *.pf 檔案
    刪除,讓作業系統重新收集程式的位址。這個問題經常
    是在做 Ghost 還原之後可
    能會發生的問題。
  (2) 有些系統檔案可能在安裝某些軟體時被換成了較先前的
    版本,如果可以的話,儘量將其更新至官方的最新版本

Ps. 或是...將有問題的程式關閉 DEP 功能(不建議,有興趣可以了解一下再嘗試)
桌面上→[我的電腦] 按右鍵→內容→[進階]→[效能] 的 [設定]
→[資料執行防止]→為所有的 Windows 程式和服務開啟 DEP
[新增]→選擇你要關閉 DEP 功能的應用程式→[確定]→[確定]
,接著在[進階]→[錯誤報告]→停用錯誤報告→取消選取 發生嚴
重錯誤時請通知我→[確定]→[確定]→重新開機

關於 DEP 的官方說明
https://www.microsoft.com/taiwan/technet/security/prodtech/windowsxp/depcnfxp.mspx


收錄日期: 2021-04-12 21:16:42
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20061117000051KK04829

檢視 Wayback Machine 備份