2010年12月5日

[ cmd ] DLL註冊 - 重新註冊 regsvr32 - 解決該記憶體不能為「read」「written」的方式 SOP

DLL註冊 - 重新註冊 regsvr32 - 解決該記憶體不能為「read」「written」的方式 SOP

Windows 使用到一半,如果出現以下的訊息真的是很頭痛 ~"~
「0x????????」指令參考的「0x????????」記憶體。該記憶體不能為「read」。
「0x????????」指令參考的「0x00000000」記憶體。該記憶體不能為「written」。

這邊做個經驗分享與整理成SOP ψ(._. )>筆記

方法1. 最近才出現的,請檢查log,有沒有最近安裝的軟體衝突,修復或更新該軟體到最新版
或是詢問使用者最近有沒有設定什麼東西,
很多USER不自覺的就用了所謂的優化軟體、修改了登錄檔 regedit,
那就想辦法改回來 ╮( ̄▽ ̄")╭

方法2. dll 元件出現錯誤,可以用下面指令來重新註冊。
最好是在剛開機,沒有開啟其他應用程式下使用。
進入command line,複製下面那行(用打容易出錯),Enter
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1指令跑完也最好重新開機,因為它會動到登錄檔 regedit

方法3. 重設虛擬記憶體、分頁檔大小,一樣需要重新開機。
如果可以的話,將pagefile設定新的區塊大小,或是換另一個分割槽

方法4. 執行 Efix 檢查是否中毒,或其他系統異常,一樣需要重新開機。
使用Efix必看EFix使用前注意事項
使用時您必須要自行承擔任何可能會造成的風險。
請注意作業系統版本是否能夠使用。
或是執行你信任的防毒軟體、防木馬程式掃毒。

方法5. SFC - SystemFileChecker系統檔案檢查程式 cmd指令修復。

方法6. windows正確的更新到最新。

方法7. 如果是新的作業系統、或是經過重灌,請確定OS安裝片、MD5沒有問題
檢查或更新驅動程式、.NET.Framework、DirectX是否有衝突問題,或檢查硬體相容性吧。

方法8. 如果是新的主機電腦,也確定OS安裝片、MD5沒有問題。
經過燒機程式測試有沒有問題,或檢查硬體相容性吧。

方法9. 如果電腦也用了好幾年,方法1-7都確實嘗試過了,就檢查硬體相容性吧。
當然,打開機殼馬上就發現主機板有焦黑,電容外觀異常,請換新的.......
換記憶體、換記憶體插槽、記憶體廠牌不相容......
硬碟、硬碟排線也都是有可能造成此問題.......

其他方法
如 NET.Framework 問題、參照以下網址。
PC軟硬版 - 系統 - 該記憶體不能為read或written的解決方案
http://blog.xuite.net/mosbbs/PC/25203478
追加:
如果你用 Ghost 恢復 OS 後建議 刪除WINDOWS\PREFETCH目錄下所有*.PF文件因為需讓windows重新收集程式的物理地址
有些應用程式錯誤 "0x7cd64998" 指令參考的 "0x14c96730" 記憶體。該記憶體不能為 "read"推論是此原因

1 則留言:

HOWRU 提到...

感謝你的文章! 很好的解決了我的問題,現在心裡舒坦多了(我用檢查了軟體衝突,dll檔)。
另外,部落格的配色很棒! 暗色調很有IDE的感覺XD

張貼留言