⑴ 問一個系統的問題
運行某些程序的時候,有時會出現內存錯誤的提示,然後該程序就關閉。
「0x????????」指令引用的「0x????????」內存。該內存不能為「read」。
「0x????????」指令引用的「0x????????」內存,該內存不能為「written」。
不知你出現過類似這樣的故障嗎?(0x後面內容有可能不一樣。)
一般出現這個現象有方面的,一是硬體,即內存方面有問題,二是軟體,這就有多方面的問題了。
1、微軟IE緩沖溢出漏洞引起
2、內存或虛擬內存地址使用沖突造成
程序的運行需要分配一定的內存地址給程序使用,當程序結束時釋放留出空間讓給新的程序使用,win是多任務的系統
有時前程序未結束 又有新的任務開始
到底要多少內存或虛擬內存來保證我們同時運行的工作任務呢?也許win在這個問題上沒弄好,所以有此錯誤常常發生,一般運行大型軟體或多媒體後出現這種情況
3、劣質內存條也會出現這個問題
一般來說,內存出現問題的可能性並不大,主要方面是:內存條壞了、內存質量有問題,還有就是2個不同牌子不同容量的內存混插,也比較容易出現不兼容的情況,同時還要注意散熱問題,特別是超頻後。你可以使用MemTest
這個軟體來檢測一下內存,它可以徹底的檢測出內存的穩定度。
假如你是雙內存,而且是不同品牌的內存條混插或者買了二手內存時,出現這個問題,這時,你就要檢查是不是內存出問題了或者和其它硬體不兼容。
4、微軟WINDOWS系統的漏洞,
windows把內存地址0X00000000到0X0000ffff指定為分配null指針的地址范圍,如果程序試圖訪問這一地址,則認為是錯誤。c/c++編寫的程序通常不進行嚴格的錯誤檢查,當採用malloc來分配內存而可供分配的地址空間不夠的情況下返回null指針。但是代碼不檢查這種錯誤,認為地址分配已經成功,於是就訪問0X00000000的地址,於是就發生內存違規訪問,同時該進程被終止。
ASCII字元填充組成的pif文件時會出現以下情況:
一個非法的pif文件(用ascii字元\'x\'填充)至少要369位元組,系統才認為是一個合法的pif文件,才會以pif的圖標[pifmgr.dll,0]顯示,才會在屬性里有程序、
字體、內存、屏幕」等內容。而且僅僅當一個非pif文件的大小是369位元組時察看屬性的「程序」頁時,不會發生程序錯誤,哪怕是370位元組也不行。當對一個大於369位元組的非法pif文件察看屬性的「程序」頁時,Explorer會出錯,提示:\'***\'指令引用的\'***\'內存。該內存不能為\'read\'
,問題出在pif文件的16進制地址:
0x00000181[0x87]0x00000182[0x01]和
0x00000231[0xC3]0x00000232[0x02]
即使是一個合法pif文件,只要改動這四處的任意一處,也會引起程序錯誤。而只
要把0x00000181和0x00000182的值改為[0xFF][0xFF],那麼其它地址任意更改
都不會引起錯誤。
5、可能沒有完全正確安裝apache服務,且啟動了它的原故; 把服務中的
OracleOraHomeXXHTTPServer改成停止
6、應用程序沒有檢查內存分配失敗
程序需要一塊內存用以保存數據時,就需要調用操作系統提供的「功能函數」來申請,如果內存分配成功,函數就會將所新開辟的內存區地址返回給應用程序,應用程序就可以通過這個地址使用這塊內存。這就是「動態內存分配」,內存地址也就是編程中的「指針」。
內存不是永遠都招之即來、用之不盡的,有時候內存分配也會失敗。當分配失敗時系統函數會返回一個0值,這時返回值「0」已不表示新啟用的指針,而是系統向應用程序發出的一個通知,告知出現了錯誤。作為應用程序,在每一次申請內存後都應該檢查返回值是否為0,如果是,則意味著出現了故障,應該採取一些措施挽救,這就增強了程序的「健壯性」。
若應用程序沒有檢查這個錯誤,它就會按照「思維慣性」認為這個值是給它分配的可用指針,繼續在之後的運行中使用這塊內存。真正的0地址內存區保存的是計算機系統中最重要的「中斷描述符表」,絕對不允許應用程序使用。在沒有保護機制的操作系統下(如DOS),寫數據到這個地址會導致立即死機,而在健壯的操作系統中,如Windows等,這個操作會馬上被系統的保護機制捕獲,其結果就是由操作系統強行關閉出錯的應用程序,以防止其錯誤擴大。這時候,就會出現上述的「寫內存」錯誤,並指出被引用的內存地址為「0x00000000」。
內存分配失敗故障的原因很多,內存不夠、系統函數的版本不匹配等都可能有影響。因此,這種分配失敗多見於操作系統使用很長時間後,安裝了多種應用程序(包括無意中「安裝」的病毒程序),更改了大量的系統參數和系統文件之後。
7、應用程序由於自身BUG引用了不正常的內存指針
在使用動態分配的應用程序中,有時會有這樣的情況出現:程序試圖讀寫一塊「應該可用」的內存,但不知為什麼,這個預料中可用的指針已經失效了。有可能是「忘記了」向操作系統要求分配,也可能是程序自己在某個時候已經注銷了這塊內存而「沒有留意」等等。注銷了的內存被系統回收,其訪問權已經不屬於該應用程序,因此讀寫操作也同樣會觸發系統的保護機制,企圖「違法」的程序唯一的下場就是被操作終止運行,回收全部資源。計算機世界的法律還是要比人類有效和嚴厲得多啊!
像這樣的情況都屬於程序自身的BUG,你往往可在特定的操作順序下重現錯誤。無效指針不一定總是0,因此錯誤提示中的內存地址也不一定為「0x00000000」,而是其他隨機數字。
----------------------------------------------------------
如果系統經常有所提到的錯誤提示,下面的建議可能會有幫助:
1.查看系統中是否有木馬或病毒。這類程序為了控制系統往往不負責任地修改系統,從而導致操作系統異常。平常應加強信息安全意識,對來源不明的可執行程序絕不好奇。
2.更新操作系統,讓操作系統的安裝程序重新拷貝正確版本的系統文件、修正系統參數。有時候操作系統本身也會有BUG,要注意安裝官方發行的升級程序。
3.試用新版本的應用程序。
4、刪除然後重新創建 Winnt\\System32\\Wbem\\Repository 文件夾中的文件:
在桌面上右擊我的電腦,然後單擊管理。
在"服務和應用程序"下,單擊服務,然後關閉並停止 Windows Management
Instrumentation 服務。
刪除 Winnt\\System32\\Wbem\\Repository
文件夾中的所有文件。(在刪除前請創建這些文件的備份副本。)
打開"服務和應用程序",單擊服務,然後打開並啟動 Windows Management
Instrumentation 服務。當服務重新啟動時,將基於以下注冊表項中所提供的信息重新創建這些文件:
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\WBEM\\CIMOM\\Autorecover
MOFs
http://www.55188.com/viewthread.php?tid=627383&fpage=1&highlight=
下面我從幾個例子給大家分析:
例一:打開IE瀏覽器或者沒過幾分鍾就會出現"0x70dcf39f"指令引用的"0x00000000"內存。該內存不能為「read」。要終止程序,請單擊「確定」的信息框,單擊「確定」後,又出現「發生內部錯誤,您正在使用的其中一個窗口即將關閉」的信息框,關閉該提示信息後,IE瀏覽器也被關閉。
解決方法:修復或升級IE瀏覽器,同時打上補丁。看過其中一個修復方法是,Win2000自升級,也就是Win2000升級到Win2000,其實這種方法也就是把系統還原到系統初始的狀態下。比如你的IE升級到了6.0,自升級後,會被IE5.0代替。
例二:在windows
xp下雙擊光碟裡面的「AutoRun.exe」文件,顯示「0x77f745cc」指令引用的「0x00000078」內存。該內存不能為「written」,要終止程序,請單擊「確定」,而在Windows
98里運行卻正常。
解決方法:這可能是系統的兼容性問題,winXP的系統,右鍵「AutoRun.exe」文件,屬性,兼容性,把「用兼容模式運行這個程序」項選擇上,並選擇「Windows
98/Me」。win2000如果打了SP的補丁後,只要開始,運行,輸入:regsvr32
c:\\winnt\\apppatch\\slayerui.dll。右鍵,屬性,也會出現兼容性的選項。
例三:RealOne
Gold關閉時出現錯誤,以前一直使用正常,最近卻在每次關閉時出現「0xffffffff」指令引用的「0xffffffff」內存。該內存不能為「read」
的提示。
解決方法:當使用的輸入法為微軟拼音輸入法2003,並且隱藏語言欄時(不隱藏時沒問題)關閉RealOne就會出現這個問題,因此在關閉RealOne之前可以顯示語言欄或者將任意其他輸入法作為當前輸入法來解決這個問題。
例四:我的豪傑超級解霸自從上網後就不能播放了,每次都提示「0x060692f6」(每次變化)指令引用的「0xff000011」內存不能為「read」,終止程序請按確定。
解決方法:試試重裝豪傑超級解霸,如果重裝後還會,到官方網站下載相應版本的補丁試試。還不行,只好換就用別的播放器試試了。
例五:雙擊一個游戲的快捷方式,「0x77f5cd0」指令引用「0xffffffff」內
存,該內存不能為「read」 ,並且提示Client.dat程序錯誤。
解決方法:重裝顯卡的最新驅動程序,然後下載並且安裝DirectX9.0。
例六:一個朋友發信息過來,我的電腦便出現了錯誤信息:「0x772b548f」指令引用的「0x00303033」內存,該內存不能為「written」,然後QQ自動下線,而再打開QQ,發現了他發過來的十幾條的信息。
解決方法:這是對方利用QQ的BUG,發送特殊的代碼,做QQ出錯,只要打上補丁或升級到最新版本,就沒事了。
收集了些資料希望對你有幫助!!
⑵ 電腦掉線錯誤代碼:ox800c0005什麼為事
ox8000c 這個代碼的文件被拒絕訪問 。
0000 操作已成功完成。0001 錯誤的函數。0002 系統找不到指定的文件。0003 系統找不到指定的路徑。0004 系統無法打開文件。0005 拒絕訪問。0006 句柄無效。0007 存儲區控制塊已損壞。0008 可用的存儲區不足,無法執行該命令。0009 存儲區控制塊地址無效。0010 環境錯誤。0011 試圖使用不正確的格式載入程序。0012 訪問代碼無效。0013 數據無效。0014 可用的存儲區不足,無法完成該操作。0015 系統找不到指定的驅動器。0016 無法刪除該目錄。0017 系統無法將文件移到其他磁碟驅動器上。0018 沒有其他文件。0019 媒體防寫。0020 系統找不到指定的設備。0021 設備尚未准備好。0022 設備無法識別該命令。0023 數據錯誤(循環冗餘檢查)。0024 程序發出命令,但是該命令的長度錯誤。0025 驅動器在磁碟上無法定位指定的區域或磁軌。0026 無法訪問指定的磁碟或軟盤。0027 驅動器找不到所請求的扇區。0028 列印機缺紙。0029 系統無法寫入指定的設備。0030 系統無法讀取指定的設備。0031 與系統連接的設備不能正常運轉。0032 其他進程正使用該文件,因此現在無法訪問。0033 另一進程已鎖定該文件的某一部分,因此現在無法訪問。0034 驅動器中的軟盤不正確。請將 %2 (卷標序列號: %3)插入驅動器 %1。0036 打開共享的文件太多。0038 已到達文件結尾。0039 磁碟已滿。0050 不支持此網路請求。0051 遠程計算機無法使用。0052 網路中存在重名。0053 找不到網路路徑。0054 網路正忙。0055 指定的網路資源或設備已不可用。0056 已經達到網路命令的極限。0057 網路適配器出現錯誤。0058 指定的伺服器無法執行所請求的操作。0059 網路出現意外錯誤。0060 遠程適配器不兼容。0061 列印機隊列已滿。0062 伺服器上沒有存儲等待列印的文件的空間。0063 已經刪除等候列印的文件。0064 指定的網路名無法使用。0065 拒絕訪問網路。0066 網路資源類型錯誤。0067 找不到網路名。0068 已超過本地計算機網路適配器卡的名稱極限。0069 已超過網路 BIOS 會話的極限。0070 遠程伺服器已經暫停或者正在啟動過程中。0071 由於該計算機的連接數目已達到上限,此時無法再連接到該遠程計算機。0072 指定的列印機或磁碟設備已經暫停。0080 該文件存在。0082 無法創建該目錄或文件。0083 INT 24 失敗。0084 處理該請求的存儲區不可用。0085 正在使用該本地設備名。0086 指定的網路密碼不正確。0087 參數錯誤。0088 網路出現寫入錯誤。0089 此時系統無法啟動其他進程。0100 無法創建其他系統標志。0101 屬於其他進程的專用標志。0102 標志已經設置,無法關閉。0103 無法再次設置該標志。0104 中斷時無法請求專用標志。0105 此標志先前的所有權已終止。0106 請將軟盤插入驅動器 %1。0107 後續軟盤尚未插入,程序停止。0108 磁碟正在使用或已由其他進程鎖定。0109 管道已經結束。0110 系統無法打開指定的設備或文件。0111 文件名太長。0112 磁碟空間不足。0113 沒有其他可用的內部文件標識符。0114 目標內部文件標識符不正確。0117 該應用程序所運行的 IOCTL 調用不正確。0118 校驗寫入的開關參數值不正確。0119 系統不支持所請求的命令。0120 該系統上不支持此功能。0121 標記已超時。0123 文件名、目錄名或卷標語法錯誤。0124 系統調用層不正確。0125 磁碟沒有卷標。0126 找不到指定的模塊。0127 找不到指定的過程。0128 沒有要等候的子進程。0129 模式下運行。0130 試圖使用操作(而非原始磁碟I/O)的已打開磁碟分區的文件句柄。0131 試圖將文件指針移至文件開頭之前。0132 無法在指定的設備或文件中設置文件指針。0133 對於包含已連接驅動器的驅動器,不能使用 JOIN 或 SUBST 命令。0134 試圖在已經連接的驅動器上使用 JOIN 或 SUBST 命令。0135 試圖在已經替換的驅動器上使用 JOIN 或 SUBST 命令。0136 系統試圖刪除尚未連接的驅動器的 JOIN。0137 系統試圖刪除尚未替換的驅動器的替換項。0138 系統試圖將驅動器連接到已連接的驅動器下的目錄。0139 系統試圖將驅動器替換成已替換的驅動器下的目錄。0140 系統試圖將驅動器連接到已替換的驅動器的一個目錄中。0141 系統試圖將驅動器替換成到已連接的驅動器下的目錄。0142 此時系統無法運行 JOIN 或 SUBST。0143 系統無法將驅動器連接到或替換成同一驅動器下的目錄。0144 此目錄不是該根目錄的子目錄。0145 該目錄未清空。0146 指定的路徑已經在替換中使用。0147 資源不足,無法執行該命令。0148 此時無法使用指定的路徑。0149 試圖連接或替換某個驅動器目錄,該驅動器上的某個目錄是上一次替換的目標目錄。0150 CONFIG.SYS 文件未指定系統跟蹤信息,或禁止跟蹤。0151 DosMuxSemWait 的指定信號事件的數目不正確。0152 DosMuxSemWait 沒有運行;已經設置太多的標志。0153 DosMuxSemWait 列表不正確。0154 輸入的卷標超過目標文件系統的標號字元長度極限。0155 無法創建其他線程。0156 接收進程拒絕該信號。0157 已經放棄該區域,因此無法鎖定。0158 該區域已經解除鎖定。0159 線程標識符的地址錯誤。0160 傳到 DosExecPgm 的參數字元串錯誤。0161 指定的路徑無效。0162 信號已掛起。0164 系統無法創建其他線程。0167 無法鎖定文件的范圍。0170 所要求的資源正在使用中。0173 鎖定請求對於提供的取消區域不重要。0174 文件系統不支持到鎖定類型的自動更改。0180 系統檢測到錯誤的區域號碼。0182 操作系統無法運行 %1。0183 不能創建已經存在的文件。0186 傳送的標志不正確。0187 找不到指定的系統信號名稱。0188 操作系統無法運行 %1。0189 操作系統無法運行 %1。0190 操作系統無法運行 %1。0191 無法在 Win32 模式下運行 %1。0192 操作系統無法運行 %1。0193 %1 不是有效的 Win32 應用程序。0194 操作系統無法運行 %1。0195 操作系統無法運行 %1。0196 操作系統無法運行此應用程序。0197 當前無法配置操作系統運行此應用程序。0198 操作系統無法運行 %1。0199 操作系統無法運行此應用程序。0200 代碼段應小於 64K。0201 操作系統無法運行 %1。0202 操作系統無法運行 %1。0203 系統找不到輸入的環境選項。0205 在命令子樹中的進程沒有信號句柄。0206 文件名或擴展名太長。0207 環 2 堆棧正在使用中。0208 輸入的全局文件名字元 * 或 ? 不正確,或指定的全局文件名字元太多。0209 所發送的信號不正確。0210 無法設置信號處理程序。0212 區域已鎖定,無法重新分配。0214 附加到此程序或動態鏈接模塊的動態鏈接模塊太多。0215 無法嵌套調用 LoadMole。0216 圖像文件 %1 有效,但不適用於本機類型。0230 管道狀態無效。0231 所有的管道實例都處於忙狀態。0232 管道正在關閉。0233 在管道的另一端沒有進程。0234 有更多可用的數據。0240 已取消會話。0254 指定的擴展屬性名無效。0255 擴展屬性不一致。0258 等待操作過時。0259 沒有其他可用數據。0266 無法使用復制功能。0267 目錄名無效。0275 擴展屬性不匹配緩沖區。0276 所裝載的文件系統上的擴展屬性文件已被損壞。0277 擴展屬性表格文件已滿。0278 指定的擴展屬性句柄無效。0282 安裝的文件系統不支持擴展屬性。0288 試圖釋放不屬於調用者的多路同步信號。0298 信號投遞的次數太多。0299 僅完成部分 ReadProcessMemory 或 WriteProcessMemory 請求。0300 操作鎖定請求被拒絕。0301 系統接收了一個無效的操作鎖定確認。0317 在 %2 的消息文件中,系統無法找到消息號為 0x%1 的消息文本。0487 試圖訪問無效地址。0534 運算結果超過 32 位。0535 該管道的另一方有一進程。0536 等候進程打開管道的另一端。0994 拒絕對擴展屬性的訪問。0995 由於線程退出或應用程序的要求,I/O 操作異常終止。0996 重疊的 I/O 事件不處於已標記狀態。0997 正在處理重疊的 I/O 操作。0998 對內存位置的無效訪問。0999 執行頁內操作出錯。