❶ 電腦打開文件總是出現程序錯誤怎麼辦
1.為什麼我的電腦打開文件時總是提示應用程序錯誤
應用程序錯誤的原因
1.病毒木馬造成的,在當今互聯網時代,病毒坐著為了獲得更多的牟利,常用病毒綁架應用程序和系統文件,然後某些安全殺毒軟體把被病毒木馬感染的應用程序和系統文件當病毒殺了導致出現應用程序錯誤。
2.應用程序組件丟失,應用程序完整的運行需要一些系統文件或者某些ll文件支持的,如果應用程序組件不完整也會導致應用程序出錯。
應用程序自身的bug引起的應用程序發生異常,人沒有完人,程序也一樣的,程序員只能做到盡量讓bug出現少點,出現一個就解決一個bug。
3.應用軟體與操作系統或其他應用軟體發生不兼容造成應用程序發生異常。
4.操作系統自身的問題,操作系統本身有bug ,也會導致出現崩潰 應用程序錯誤 該內存不能為read。
5.電腦硬體兼容性也會引起的,還有散熱不好,超頻等也會出現應用程序錯誤的。
應用程序錯誤解決辦法
先排除是不是病毒木馬引起的,請使用金山衛士進行木馬查殺,
⑴、進入主界面進入【查殺木馬】
⑵、然後點擊【快速掃描】即可
2.用金山衛士進行漏洞修復,解決系統本身造成的應用程序發生異常。
⑴、進入主界面進入【漏洞修復】
⑵、然後點擊【立即修復】即可
3.如果是單一某個應用程序引起的應用程序錯誤,那就嘗試重新卸載該軟體進行重新安裝。如果還是無法解決,就關閉其他軟體看是否能解決。
4.以上方法還是無法解決,那就肯能是硬體問題引起的,那就分別檢查內存條,主板,散熱器等等。這個建議找專業硬體維修商解決,不推薦大家自己手動解決。
2.電腦桌面文件每次打開都會顯示應用程序錯誤,怎麼解決啊 求解
分析:系統無法正常運行,提示程序程序錯誤,一般是因為軟體或硬體故障導致的,原因很多且很復雜,有可能是系統文件損壞,也可能是病毒感染,也可能是後台自啟動程序過多或安全軟體安裝有多個造成系統假死,也可能是內存、硬碟或主板出現問題。
建議:按從易到難、先軟體後硬體的原則逐一排查。
1.重啟電腦,如果能夠正常進入系統,說明上次不正常只是偶爾的程序或系統運行錯誤,無關緊要。
2.如果頻繁無法正常進入系統,則開機後馬上按F8,看能否進入安全模式或最後一次配置正確模式,如能則進入後退出,再重啟就應當能進入正常模式。如有安全軟體,可在安全模式下使用360安全衛士加360殺毒或者金山毒霸等等其它安全軟體進行全盤木馬、病毒查殺。
3.如果不能,重啟後按F11,看有沒有一鍵GHOST,有則一鍵還原(以前要進行過一鍵備份)。
4.如果沒有一鍵還原,則使用系統U盤重裝系統。插入U盤後開機連按DEL鍵(筆記本一般為F2或根據屏幕底行提示字元)進入CMOS,進入BOOT選項卡設置USB磁碟為第一啟動項。重啟進入U盤啟動菜單,選擇克隆安裝,再按提示操作即可。
系統U盤製作及重裝系統的操作步驟為:
1).製作啟動U盤:到實體店買個4-8G的U盤(可以要求老闆幫你製作成系統U盤即可省略以下步驟),上網搜索下載老毛桃或大白菜等等啟動U盤製作工具,將U盤插入電腦運行此軟體製作成啟動U盤。
2).復制系統文件:上網到系統之家網站下載WINXP或WIN7等操作系統的GHO文件,復制到U盤或啟動工具指定的U盤文件夾下。
3).設置U盤為第一啟動磁碟:開機按DEL鍵(筆記本一般為F2或其它)進入BIOS設置界面,進入BOOT選項卡設置USB磁碟為第一啟動項(註:部分電腦需要在此時插入U盤進行識別才能設置)。
4).U盤啟動並重裝系統:插入U盤啟動電腦,進入U盤啟動界面按提示利用下載來的GHO文件進行克隆安裝。
5.如果有系統光碟(沒有也可以去電腦商店以5-10元購買),則將系統光碟插入光碟機,開機後按DEL鍵(筆記本一般為F2或根據屏幕底行提示字元)進入CMOS,並在BOOT選項卡中設置光碟機(CD-ROM或DVD-ROM)為第一啟動項。重啟進入光碟啟動菜單,選擇將系統安裝到C區,再按提示操作即可。
6、如果以上操作均無效,則需要逐一替換檢查內存、主板、硬碟等等硬體,以確定故障源。
3.電腦一打開軟體總是提示應用程序錯誤,應該怎麼解決
如果經常出現錯誤提示,可按下面的方法進行檢修:
1、首先排除應用軟體原因引起的故障,將出現「內存不能為」提示的應用軟體卸載,然後觀察是否還出現「內存不能為」故障。如果不出現「內存不能為」故障,則說明是此應用軟體引起的故障,接下來可以重新安裝此應用軟體或安裝新版的應用程序軟體。
2、同時運行多款的應用程序軟體,也可以造成系統資源緊張,出現錯誤提示。不要同時運行多款的應用程序軟體,先將殺毒軟體的監控關閉,(監控功能特別占據系統資源)殺毒時不要運行其它應用程序軟體。
3、打開或關閉IE如果出現以上錯誤提示,可能是IE中有不兼容的插件,可用超級兔子軟體或其它優化軟體對IE進行修復,或自已將出事前下載的插件設為禁用即可。
4、如果卸載軟體或禁用插件後還出現「內存不能為」故障,則不是應用軟體或插件引起的故障。用殺毒軟體查殺病毒,查殺完成後,電腦如果正常,則是病毒引起的「內存不能為」故障。
5、如果故障依舊,接著依次單擊開始/控制面板/系統/硬體/設備管理器/打開「設備管理器」窗口。在此對話框中查看有無帶「!」的選項,如果有,將其卸載,再重新安裝卸載驅動,然後看電腦是否正常。如果正常,則是設備驅動程序問題造成的「內存不能為」故障。
6、如果故障依舊,則打開機箱觀察CPU的風扇轉動及CPU的溫度是否正常。如果不正常,更換CPU風扇。
7、如果CPU風扇正常,接著檢查內存是否兼容,如果不兼容更換內存。
8、如果內存正常,接著重新安裝操作系統,在不安裝其他應用軟體的情況下,不在出現「內存不能為」故障,則故障是由於操作系統引起的,重新安裝操作系統後,故障排除。
4.電腦總提示程序錯誤,怎麼辦
1)提示最上邊的,*******應用程序錯誤,那個點點的英文是程序名,到網上搜索一下看看是什麼程序,或你在操作什麼出現的?找到後卸載重裝試試,還是不行,換類似的軟體。如果找不出原因來,卸載出事前下載的東西,還原一下系統或重裝(有問題請你追問我)。
如果是開機出現的是程序的話,看看開機啟動中是否有這個選項,如果有將其去掉,如果是系統進程不適用上面的方法。
2)如果上面的方法不能解決,先軟後硬,重新安裝操作系統,不要安裝軟體、補丁、驅動等,看看開機還有問題嗎?如果沒有在逐步的安裝驅動、補丁、軟體,找出不合適的東西就不要安裝了。
請注意:如果還原系統或重裝後,安裝驅動、補丁、軟體等東西時,一定要將影響你這次出事的東西不要在安裝上去了,否則就白還原或重裝了。
3)硬體方面,如硬碟、內存等是否出現問題,CPU等硬體的溫度是否高,如果是硬體問題引起的,建議檢修一下去。
傳個圖做個比喻:
5.電腦在打開文件時出現應用程序錯誤,怎麼辦
1.在啟動項里按F8,選擇「帶網路連接的安全模式」,下載並運行360急救箱,急救你的系統!急救完請恢復被誤刪的文件!再運行360安全衛士,依次查殺木馬,清理插件,修復漏洞,清理痕跡,清理垃圾。最後請運行「磁碟碎片整理程序」,每個盤都要清理!再用360的優化系統的啟動項!
如果不能聯網,可以從「安全模式」進入!最好是進入「帶網路連接的安全模式」!【因為聯網可以更新到最新的木馬!】
【嚴禁復制,尊重原創!】
【希望我的回答對你有所幫助,如果不行,請留言,我會全程解決!】
6.打開文件總是程序錯誤怎麼修復從起電腦也沒用
1.首先排除病毒原因,使用最新版本的360殺毒快速查殺3-5分鍾,根據檢查結果,點擊立即處理。
2.如果應用程序出錯的提示是缺少某個文件,那就可能是這個文件損壞,根據這個組件查詢是哪個系統組件損壞,重新安裝相關組件,恢復程序文件,一般即可解決。
3.若是相關軟體自身的組件缺失,只需要重新安裝這個軟體即可。比如運行迅雷時提示缺少某個文件,可以嘗試重新安裝迅雷。
4.若以上方法無效,可能是軟體之間的沖突導致出錯。解決辦法是嘗試關閉幾個無關的正在運行的應用程序,看看錯誤是否還會重現。若已解決,就知道是哪兩個軟體沖突,不再同時運行這兩個軟體即可解決。或者向廠商反饋故障,督促廠商升級解決。如果不清楚是哪幾個軟體沖突,可行的解決辦法是使用360安全衛士的系統優化,在一鍵優化里,關閉一些不常用的軟體啟動。這樣開機後運行的程序少一些,沖突的概率會下降。
5.對於另一種應用程序出錯,截圖顯示「應用程序出錯,**內存地址不能讀或不能寫」,這種情況最復雜,若以上方法不能解決,則很可能是硬體(主要是內存)故障,可能是兼容性不良,只能聯系硬體供應商修理。或者重裝系統,重裝後短時間內可能會有效。
7.電腦怎麼老出現程序錯誤
如此情況,說明系統有問題了。直接換個驗證過的系統盤重裝系統就行了,這樣就可以全程自動、順利解決 系統運行錯誤 的問題了。用u盤或者硬碟這些都是可以的,且安裝速度非常快。但關鍵是:要有兼容性好的(兼容ide、achi、Raid模式的安裝)並能自動永久激活的、能夠自動安裝機器硬體驅動序的系統盤,這就可以全程自動、順利重裝系統了。方法如下:
1、U盤安裝:用ultraiso軟體,打開下載好的系統安裝盤文件(ISO文件),執行「寫入映像文件」把U盤插到電腦上,點擊「確定」,等待程序執行完畢後,這樣就做好了啟動及安裝系統用的u盤,用這個做好的系統u盤引導啟動機器後,即可順利重裝系統了;
2、硬碟安裝:前提是,需要有一個可以正常運行的Windows系統,提取下載的ISO文件中的「*.GHO」和「安裝系統.EXE」到電腦的非系統分區,然後運行「安裝系統.EXE」,直接回車確認還原操作,再次確認執行自動安裝操作。(執行前注意備份C盤重要資料!);
3、圖文版教程:有這方面的詳細圖文版安裝教程怎麼給你?不能附加的。會被系統判為違規的。
重裝系統的系統盤下載地址在「知道頁面」右上角的…………si xin zhong…………有!望採納!
8.電腦總是彈出程序出錯怎樣解決、
解決應用程序錯誤的方法步驟:
1.首先排除病毒原因,使用殺毒軟體,比如最新版本的360殺毒快速查殺3-5分鍾,根據檢查結果,點擊立即處理。
2.如果應用程序出錯的提示是缺少某個文件,那就可能是這個文件損壞,根據這個組件查詢是哪個系統組件損壞,重新安裝相關組件,恢復程序文件,一般即可解決。
3.若是相關軟體自身的組件缺失,只需要重新安裝這個軟體即可。比如運行迅雷時提示缺少某個文件,可以嘗試重新安裝迅雷。
4.若以上方法無效,可能是軟體之間的沖突導致出錯。解決辦法是嘗試關閉幾個無關的正在運行的應用程序,看看錯誤是否還會重現。若已解決,就知道是哪兩個軟體沖突,不再同時運行這兩個軟體即可解決。或者向廠商反饋故障,督促廠商升級解決。如果不清楚是哪幾個軟體沖突,可行的解決辦法是使用360安全衛士的系統優化,在一鍵優化里,關閉一些不常用的軟體啟動。這樣開機後運行的程序少一些,沖突的概率會下降。
5.對於另一種應用程序出錯,截圖顯示「應用程序出錯,**內存地址不能讀或不能寫」,這種情況最復雜,若以上方法不能解決,則很可能是硬體(主要是內存)故障,可能是兼容性不良,只能聯系硬體供應商修理。或者重裝系統,重裝後短時間內可能會有效。
9.電腦經常提示」程序錯誤「,怎麼辦
0X000000該內存不能為read written的解決方法 出現這個現象有方面的,一是硬體,即內存方面有問題,二是軟體,這就有多方面的問題了。
一:先說說硬體: 一般來說,電腦硬體是很不容易壞的。內存出現問題的可能性並不大(除非你的內存真的是雜牌的一塌徒地),主要方面是:1。
內存條壞了(二手內存情況居多)、2。使用了有質量問題的內存,3。
內存插在主板上的金手指部分灰塵太多。4。
使用不同品牌不同容量的內存,從而出現不兼容的情況。5。
超頻帶來的散熱問題。你可以使用MemTest 這個軟體來檢測一下內存,它可以徹底的檢測出內存的穩定度。
二、如果都沒有,那就從軟體方面排除故障了。 先說原理:內存有個存放數據的地方叫緩沖區,當程序把數據放在緩沖區,需要操作系統提供的「功能函數」來申請,如果內存分配成功,函數就會將所新開辟的內存區地址返回給應用程序,應用程序就可以通過這個地址使用這塊內存。
這就是「動態內存分配」,內存地址也就是編程中的「游標」。內存不是永遠都招之即來、用之不盡的,有時候內存分配也會失敗。
當分配失敗時系統函數會返回一個0值,這時返回值「0」已不表示新啟用的游標,而是系統向應用程序發出的一個通知,告知出現了錯誤。作為應用程序,在每一次申請內存後都應該檢查返回值是否為0,如果是,則意味著出現了故障,應該採取一些措施挽救,這就增強了程序的「健壯性」。
若應用程序沒有檢查這個錯誤,它就會按照「思維慣性」認為這個值是給它分配的可用游標,繼續在之後的執行中使用這塊內存。真正的0地址內存區儲存的是計算機系統中最重要的「中斷描述符表」,絕對不允許應用程序使用。
在沒有保護機制的操作系統下(如DOS),寫數據到這個地址會導致立即當機,而在健壯的操作系統中,如Windows等,這個操作會馬上被系統的保護機制捕獲,其結果就是由操作系統強行關閉出錯的應用程序,以防止其錯誤擴大。這時候,就會出現上述的內存不能為「read」錯誤,並指出被引用的內存地址為「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_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\Autorecover MOFs 下面搜集幾個例子給大家分析: 例一:IE瀏覽器出現「0x0a8ba9ef」指令引用的「0x03713644」 內存,或者「0x70dcf39f」指令引用的「0x00000000」內存。該內存不能為「read」。
要終止程序,請單擊「確定」的信息框,單擊「確定」後,又出現「發生內部錯誤,您正在使用的其中一個窗口即將關閉」的信息框,關閉該提示信息後,IE瀏覽器也被關閉。解決方法: 1、開始-運行窗口,輸入「regsvr32 actxprxy.dll」回車,接著會出現一個信息對話 框「DllRegisterServer in actxprxy.dll succeeded」,確定。
再依次運行以下命令。(這個方法有人說沒必要,但重新注冊一下那些.dll對系統也沒有壞處,反正多方下手,能解決問題就行。)
regsvr32 shdocvw.dll regsvr32 oleaut32.dll regsvr32 actxprxy.dll regsvr32 mshtml.dll regsvr32 msjava.dll regsvr32 browseui.dll regsvr32 。
❷ 電腦程序錯誤什麼也打不開怎麼辦
1. 電腦開機以後什麼程序都打不開是怎麼回事
電腦開機以後什麼程序都打不開可能跟系統設置有關,具體可以通過以下步驟操作來實現(以win7系統為例):
1、在win7操作系統桌面上,滑鼠右鍵計算機陵睜圖標選擇屬性選項進入。
2、進入計算機系統界面,點擊左側高級系統設置選項進入。
3、如下尺昌歲圖所示:切換至高級頁簽點擊設置按鈕繼續下一步操作。
4、在彈出性能選項對話框,切換數據執行保護頁簽勾選為除下列選定程序之外的所有程序和服務啟用選項,然後點擊添加按鈕進入。
5、在彈出的打開對話框,選擇dxp.exe應用程序然後點擊打開。
6、最後勾選firefox選項點擊確定按鈕即可。
2. 電腦里的所有程序都不能打開了,怎麼回事
一、電腦中了病毒。
1、開機按F8進入安全模式。
2、安裝殺毒軟體,全盤殺毒。
3、重啟電腦電腦可以正常使用。
二、系統故障或病毒徹底損壞系統無法修復,則需要重裝系統。
1、首先需要一張GHOST版系統盤
2、開機按F2鍵選擇從CD啟動
3、選擇進入光碟選項中的進入PE系統
4、進入系統後使用PE系統中的一鍵還原工具將光碟中的系統鏡像還原至C盤
5、還原結束從新啟動計算機,系統將自動安裝驅動和應用程序,一切安裝就緒計算機會自動重啟並進入系統。
6、安裝完成。
3. 電腦軟體打開方式錯誤,打不開怎麼辦
在日常的電腦應用中,你是否會經常遇到這樣的問題:雙擊某個文件或右擊文件選「打開迅空」時,有的文件便會彈出一個「打開方式」對話框,請你選擇要使用的程序,當你選擇了使用的程序並選中了「始終使用該程序打開這種類型的文件」後,這個程序就成了此類文件的默認打開方式。但當你選擇的程序已經卸載,或此程序不能打開此類型的文件,或不想用此程序作為該類型文件的默認打開方式時,應該如何更改文件的默認打開方式呢?其實很簡單
1、任意打開一個文件夾,在最上面一排,找到「工具(alt+t)」,裡面有個「文件夾選項」一欄;
2、在彈出的「文件夾選項」對話框中,選擇「文件類型」選項卡。
3、在「已注冊的文件類型」文本框中找到該文件的默認打開程序,選中(單擊之)。例如,我們找到了Word文件的默認打開方式「MicrosoftWord文檔」,然後選中該項。
4、單擊「刪除」。單擊「確定」,退出「文件夾選項」。
5、再雙擊或右擊該文件選「打開」,重新設置好所要使用的打開程序的默認方式即可
4. 我的電腦應用程序錯誤,打不開了
使用Windows操作系統的人有時會遇到這樣的錯誤信息:「「0X????????」指令引用的「0x00000000」內存,該內存不能為「read」或「written」」,然後應用程序被關閉。
如果去請教一些「高手」,得到的回答往往是「Windows就是這樣不穩定」之類的義憤和不屑。其實,這個錯誤並不一定是Windows不穩定造成的。
本文就來簡單分析這種錯誤的一般原因。一、應用程序沒有檢查內存分配失敗程序需要一塊內存用以儲存數據時,就需要使用操作系統提供的「功能函數」來申請,如果內存分配成功,函數就會將所新開辟的內存區地址返回給應用程序,應用程序就可以通過這個地址使用這塊內存。
這就是「動態內存分配」,內存地址也就是編程中的「游標」。內存不是永遠都招之即來、用之不盡的,有時候內存分配也會失敗。
當分配失敗時系統函數會返回一個0值,這時返回值「0」已不表示新啟用的游標,而是系統向應用程序發出的一個通知,告知出現了錯誤。作為應用程序,在每一次申請內存後都應該檢查返回值是否為0,如果是,則意味著出現了故障,應該採取一些措施挽救,這就增強了程序的「健壯性」。
若應用程序沒有檢查這個錯誤,它就會按照「思維慣性」認為這個值是給它分配的可用游標,繼續在之後的執行中使用這塊內存。真正的0地址內存區儲存的是計算機系統中最重要的「中斷描述符表」,絕對不允許應用程序使用。
在沒有保護機制的操作系統下(如DOS),寫數據到這個地址會導致立即當機,而在健壯的操作系統中,如 Windows等,這個操作會馬上被系統的保護機制捕獲,其結果就是由操作系統強行關閉出錯的應用程序,以防止其錯誤擴大。這時候,就會出現上述的「寫內存」錯誤,並指出被引用的內存地址為「0x00000000」。
內存分配失敗故障的原因很多,內存不夠、系統函數的版本不匹配等都可能有影響。因此,這種分配失敗多見於操作系統使用很長時間後,安裝了多種應用程序(包括無意中「安裝」的病毒程序),更改了大量的系統參數和系統檔案之後。
二、應用程序由於自身BUG引用了不正常的內存游標在使用動態分配的應用程序中,有時會有這樣的情況出現:程序試突讀寫一塊「應該可用」的內存,但不知為什麼,這個預料中可用的游標已經失效了。有可能是「忘記了」向操作系統要求分配,也可能是程序自己在某個時候已經注銷了這塊內存而「沒有留意」等等。
注銷了的內存被系統回收,其訪問權已經不屬於該應用程序,因此讀寫操作也同樣會觸發系統的保護機制,企圖「違法」的程序唯一的下場就是 *** 作終止執行,回收全部資源。計算機世界的法律還是要比人類有效和嚴厲得多啊!像這樣的情況都屬於程序自身的BUG,你往往可在特定的操作順序下重現錯誤。
無效游標不一定總是0,因此錯誤提示中的內存地址也不一定為「0x00000000」,而是其它隨機數字。如果系統經常有所提到的錯誤提示,下面的建議可能會有說明 :1.檢視系統中是否有木馬或病毒。
這類程序為了控制系統往往不負責任地修改系統,從而導致操作系統異常。平常應加強信息安全意識,對來源不明的可執行程序絕不好奇。
2.更新操作系統,讓操作系統的安裝程序重新拷貝正確版本的系統檔案、修正系統參數。有時候操作系統本身也會有BUG,要注意安裝官方發行的升級程序。
3.試用新版本的應用程序。Mode:將虛擬內存撤換答案:目前為止是肯定的,也就是如在下次冷天到來時亦沒再發生,就代表這是主因追加:如果你用 Ghost 恢復 OS 後建議 刪除WINDOWS\PREFETCH目錄下所有*.PF文件因為需讓windows重新收集程序的物理地址有些應用程序錯誤 "0x7cd64998" 指令參考的 "0x14c96730" 內存。
該內存不能為 "read"推論是此原因源由:Win XP的「預讀取」技術這種最佳化技術也被用到了應用軟體上,系統對每一個應用軟體的前幾次啟動情況進行分析,然後新增一個描述套用需求的虛擬「內存映像」,並把這些信息儲存到 WINDOWSPREFETCH數據夾。一旦建立了映像,應用軟體的裝入速度大大提高。
XP的預讀取數據儲存了最近8次系統啟動或應用軟體啟動的信息。後敘:目前此方法亦是獨步網路的(其碼自己針對此問題查了許久),也是常見問題,原本幾乎每天睡前關閉軟體時一些程序都會發生。
read。現在就沒發生了。
【文章二】運行某些程序的時候,有時會出現內存錯誤的提示(0x後面內容有可能不一樣),然後該程序就關閉。 「0x????????」指令引用的「0x????????」內存。
該內存不能為「read」。 「0x????????」指令引用的「0x????????」內存,該內存不能為「written」。
不知你出現過類似這樣的故障嗎? 一般出現這個現象有方面的,一是硬體,即內存方面有問題,二是軟體,這就有多方面的問題了。 下面先說說硬體: 一般來說,內存出現問題的可能性並不大,主要方面是:內存條壞了、內存質量有問題,還有就是2個不同牌子不同容量的內存混插,也比較容易出現不兼容的情況,同時還要注意散熱問題,特別是超頻後。
你可以使用MemTest 這個軟體來檢測一下內存,它可以徹底的檢測出內存的穩定度。 假。
❸ 為什麼總是有清不完的bug
為什麼總是有清不完的bug?現代網路上面存在很多不同bug,這讓很多人不是很理解,因為網路技術越來越成熟,按說應該bug越來越少,可是看起來似乎越來越多,其實這裡面有很多原因,只不過很多人不熟悉網路運行知識,下面給大傢具體解釋一下:
三、網路時代相互攻擊,從而造成了很多bug:
目前互聯網之間攻擊的事情很多,國家之間都會相互指責,因此也會產生很多侍搭手bug,這也是bug,無法控制的一個重要因素。
❹ 程序出現異常,即將退出程序,是怎麼回事
這種情況一般都是由於程序不兼或者程序本身存在BUG發生的。升級應用程序或者下個其他類似的容軟體應該能解飢中數決問題。
在中華人民共和國國家標准《質量管理體系基礎和術語》GB/T19000—2008/ISO9000:2005(代替爛首GB/T19000—2000)中第3.4.5條 程培卜序procere中對於「程序」的定義是「 為進行某項活動或過程(3.4.1)所規定的途徑。
(4)程序為什麼總有bug擴展閱讀:
工作程序:
任何單位任何事情,首先強調的就是程序,因為管理界有句名言:細節決定成敗。程序就是整治細節最好的工具。於是,我們的所有工作,無時無處不在強調程序。政府公開辦事程序,也拉近了和人民群眾的關系。
好像是為了印證事物都是一分為二的道理一樣,在贊頌程序的同時,我們也看到了程序冷酷的另一面。南寧見義勇為的英雄鮑光蛇在醫院冷酷的程序中流盡了最後一滴血,公路收費站的值班人員因救護車交不出十元錢的過路費而堅決不放行救護車。
❺ 應用程序出現錯誤,強制關閉是什麼原因
手機總是強行關閉的原因有以下幾點:
第一,程序經常會自動退出,可能是由於手機可供調配的內存不足,導致程序無法斗手敏繼續執行而出錯。
第二,可能是空枝因為程序薯滲本身的問題,在運行過程中出現BUG導致出錯。
第三,可能是程序和用戶的手機不兼容而出錯。
❻ 程序bug出現的原因是什麼
原因是多方面的,比如程序邏輯不嚴謹、程序變數類型設置不當、程序演算法不完善等。
❼ 為什麼電腦總是出現應用程序錯誤
出現應用程序錯誤的原因很多:
1、應用程序沒有檢查內存分配失敗
2、應用程序由於自身BUG引用了不正常的內存游標
3、木馬或病毒破壞
4、操作系統本身bug
有時候操作系統本身也會有BUG,要注意安裝官方發行的升級程序。更新操作系統,讓操作系統的安裝程序重新拷貝正確版本的系統檔案、修正系統參數。
5、硬體本身質量問題及不兼容的情況,同時還要注意散熱問題,超頻等特殊情況。
6、系統長時間可能系統文件沒有及時的更新和你的軟體有沖突導致了你的系統不穩
7、升級出現的問題。
出錯解決辦法
1、試用新版本的應用程序。
新版本應用程序往往修正了以前版本漏洞和錯誤,避免了內存不能分配等錯誤,避免了類似錯誤再次發生。
2、查殺惡意程序及病毒
及時升級殺毒軟體查殺病毒,清理惡意程序
3、升級修補操作系統
利用系統更新及時修補系統漏洞錯誤,避免因系統自身原因引起應用程序錯誤。
4、更換硬體
檢驗替換有問題硬體
一般出現這個現象有方面的,一是軟體,這就有多方面的問題了,二是硬體,即硬體有問題。
硬體:一般來說主要方面是:硬體損壞了、質量有問題,還有就是兼容問題,也比較容易出現。其次還有超頻,如果都沒有,那就從軟體方面排除故障了。
遇見這樣的情況處理起來很麻煩,建議你還是換一下系統看看 要是你換了系統還是不行,只能說就是你的硬體出問題了,建議你在換一下內存排除一下, 要是好使了就是硬體的問題了, 要是換了內存並且也換了系統 問題一樣還是存在的話 那麼我建議把你的硬碟整體的低級格式化了。
❽ 打開游戲的時候,總出現應用程序錯誤是怎麼回事
使用Windows操作系統的人有時會遇到這樣的錯誤信息: x0dx0ax0dx0a「「0X????????」指令引用的「0x00000000」內存,該內存不能為「read」或「written」」,然後應用程序被關閉。 x0dx0ax0dx0a如果去請教一些「高手」,得到的回答往往是「Windows就是這樣不穩定」之類的義憤和不屑。其實,這個錯誤並不一定是Windows不穩定造成的。本文就來簡單分析這種錯誤的一圓虛般原因。 x0dx0ax0dx0a一、應用程序沒有檢查內存分配失敗 x0dx0ax0dx0a程序需要一塊內存用以儲存數據時,就需要宴腔橡使用操作系統提供的「功能函數」來申請,如果內存分配成功,函數就會將所新開辟的內存區地址返回給應用程序,應用程序就可以通過這個地址使用這塊內存。這就是「動態內存分配」,內存地址也就是編程中的「游標」。內存不是永遠都招之即來、用之不盡的,有時候內存分配也會失敗。當分配失敗時系統函數會返回一個0值,這時返回值「0」已不表示新啟用的游標,而是系統向應用程序發出的一個通知,告知出現了錯誤。作為應用程序,在每一次申請內存後都應該檢查返回值是否為0,如果是,則意味著出現了故障,應該採取一些措施挽救,這就增強了程序的「健壯性」。若應用程序沒有檢查這個錯誤,它就會按照「思維慣性」認為這個值是給它分配的可用游標,繼續在之後的執行中使用這塊內存。真正的0地址內存區儲存的是計算機系統中最重要的「中斷描述符表」,絕對不允許應用程序使用。在沒有保護機制的操作系統下(如DOS),寫數據到這個地址會導致立即當機,而在健壯的操作系統中,如Windows等,這個操作會馬上被系統的保護機制捕獲,其結果就是由操作系統強行關閉出錯的應用程序,以防止其錯誤擴大。這時候,就會出現上述的「寫內存」錯誤,並指出被引用的內存地址為「0x00000000」。內存分配失敗故障的原因很多,內存不夠、系統函數的版本不匹配等都可能有影響。因此,這種分配失敗多見於操作系統使用很長時間後,安裝了多種應用程序(包括無意中「安裝」的病毒程序),更改了大量的系統參數和系統檔案之後。 x0dx0ax0dx0a二、應用程序由於自身BUG引用了不正常的內存游標 x0dx0ax0dx0a在使用動態分配的應用程序中,有時會有這樣的情況出現:程序試突讀寫一塊「應該可用」的內存,但不知為什麼,這個預料中可用的游標已經失效了。有可能是「忘記了」向操作系統要求分配,也可能是程序自己在某個時候已經注銷了這塊內存而「沒有留意」等等。注銷了的內存被系統回收,其訪問權已經不屬於該應用程序,因此讀寫操作也同樣會觸發系統的保護機制,企圖「違法」的程序唯一的下場就是被操作終止執行,回收全部資源。計算機世界的法律還是要比人類有效和嚴厲得多啊!像這樣的情況都屬於程序自身的BUG,你往往可在特定晌旁的操作順序下重現錯誤。無效游標不一定總是0,因此錯誤提示中的內存地址也不一定為「0x00000000」,而是其它隨機數字。如果系統經常有所提到的錯誤提示,下面的建議可能會有說明 : x0dx0ax0dx0a1.檢視系統中是否有木馬或病毒。這類程序為了控制系統往往不負責任地修改系統, x0dx0ax0dx0a從而導致操作系統異常。平常應加強信息安全意識,對來源不明的可執行程序絕不好奇。 x0dx0ax0dx0a2.更新操作系統,讓操作系統的安裝程序重新拷貝正確版本的系統檔案、修正系統參數。 x0dx0ax0dx0a有時候操作系統本身也會有BUG,要注意安裝官方發行的升級程序。 x0dx0ax0dx0a3.試用新版本的應用程序。 x0dx0ax0dx0aMode: x0dx0ax0dx0a將虛擬內存撤換 x0dx0ax0dx0a答案: x0dx0ax0dx0a目前為止是肯定的,也就是如在下次冷天到來時亦沒再發生,就代表這是主因 x0dx0ax0dx0a追加: x0dx0ax0dx0a如果你用 Ghost 恢復 OS 後建議 刪除WINDOWS\PREFETCH目錄下所有*.PF文件因為需讓windows重新收集程序的物理地址 x0dx0ax0dx0a有些應用程序錯誤 "0x7cd64998" 指令參考的 "0x14c96730" 內存。該內存不能為 "read"推論是此原因 x0dx0ax0dx0a源由: x0dx0ax0dx0aWin XP的「預讀取」技術 x0dx0ax0dx0a這種最佳化技術也被用到了應用軟體上,系統對每一個應用軟體的前幾次啟動情況進行分析,然後新增一個描述套用需求的虛擬「內存映像」,並把這些信息儲存到WINDOWSPREFETCH數據夾。一旦建立了映像,應用軟體的裝入速度大大提高。XP的預讀取數據儲存了最近8次系統啟動或應用軟體啟動的信息。 x0dx0ax0dx0a後敘: x0dx0ax0dx0a目前此方法亦是獨步網路的(其碼自己針對此問題查了許久),也是常見問題,原本幾乎每天睡前關閉軟體時一些程序都會發生...read... x0dx0ax0dx0a現在就沒發生了。 x0dx0ax0dx0a【文章二】 x0dx0ax0dx0a運行某些程序的時候,有時會出現內存錯誤的提示(0x後面內容有可能不一樣),然後該程序就關閉。 x0dx0ax0dx0a「0x????????」指令引用的「0x????????」內存。該內存不能為「read」。 x0dx0ax0dx0a「0x????????」指令引用的「0x????????」內存,該內存不能為「written」。 x0dx0ax0dx0a不知你出現過類似這樣的故障嗎? x0dx0ax0dx0a一般出現這個現象有方面的,一是硬體,即內存方面有問題,二是軟體,這就有多方面的問題了。 x0dx0ax0dx0a下面先說說硬體: x0dx0ax0dx0a一般來說,內存出現問題的可能性並不大,主要方面是:內存條壞了、內存質量有問題,還有就是2個不同牌子不同容量的內存混插,也比較容易出現不兼容的情況,同時還要注意散熱問題,特別是超頻後。你可以使用MemTest 這個軟體來檢測一下內存,它可以徹底的檢測出內存的穩定度。 x0dx0ax0dx0a假如你是雙內存,而且是不同品牌的內存條混插或者買了二手內存時,出現這個問題,這時,你就要檢查是不是內存出問題了或者和其它硬體不兼容。 x0dx0ax0dx0a如果都沒有,那就從軟體方面排除故障了。 x0dx0ax0dx0a先簡單說說原理:內存有個存放數據的地方叫緩沖區,當程序把數據放在其一位置時,因為沒有足夠空間,就會發生溢出現象。舉個例子:一個桶子只能將一斤的水,當你放入兩斤的水進入時,就會溢出來。而系統則是在屏幕上表現出來。這個問題,經常出現在windows2000和XP系統上,Windows 2000/XP對硬體的要求是很苛刻的,一旦遇到資源死鎖、溢出或者類似Windows 98里的非法操作,系統為保持穩定,就會出現上述情況。另外也可能是硬體設備之間的兼容性不好造成的。 x0dx0ax0dx0a下面我從幾個例子給大家分析: x0dx0ax0dx0a例一:打開IE瀏覽器或者沒過幾分鍾就會出現"0x70dcf39f"指令引用的"0x00000000"內存。該內存不能為「read」。要終止程序,請單擊「確定」的信息框,單擊「確定」後,又出現「發生內部錯誤,您正在使用的其中一個窗口即將關閉」的信息框,關閉該提示信息後,IE瀏覽器也被關閉。 解決方法:修復或升級IE瀏覽器,同時打上補丁。看過其中一個修復方法是,Win2000自升級,也就是Win2000升級到Win2000,其實這種方法也就是把系統還原到系統初始的狀態下。比如你的IE升級到了6.0,自升級後,會被IE5.0代替。 x0dx0ax0dx0a例二:在windows xp下雙擊光碟裡面的「AutoRun.exe」文件,顯示「0x77f745cc」指令引用的「0x00000078」內存。該內存不能為「written」,要終止程序,請單擊「確定」,而在Windows 98里運行卻正常。 解決方法:這可能是系統的兼容性問題,winXP的系統,右鍵「AutoRun.exe」文件,屬性,兼容性,把「用兼容模式運行這個程序」項選擇上,並選擇「Windows 98/Me」。win2000如果打了SP的補丁後,只要開始,運行,輸入:regsvr32 c:\winnt\apppatch\slayerui.dll。右鍵,屬性,也會出現兼容性的選項。 x0dx0ax0dx0a例三:RealOne Gold關閉時出現錯誤,以前一直使用正常,最近卻在每次關閉時出現「0xffffffff」指令引用的「0xffffffff」內存。該內存不能為「read」 的提示。 解決方法:當使用的輸入法為微軟拼音輸入法2003,並且隱藏語言欄時(不隱藏時沒問題)關閉RealOne就會出現這個問題,因此在關閉RealOne之前可以顯示語言欄或者將任意其他輸入法作為當前輸入法來解決這個問題。 x0dx0ax0dx0a例四:我的豪傑超級解霸自從上網後就不能播放了,每次都提示「0x060692f6」(每次變化)指令引用的「0xff000011」內存不能為「read」,終止程序請按確定。 解決方法:試試重裝豪傑超級解霸,如果重裝後還會,到官方網站下載相應版本的補丁試試。還不行,只好換就用別的播放器試試了。 x0dx0ax0dx0a例五:雙擊一個游戲的快捷方式,「0x77f5cd0」指令引用「0xffffffff」內 存,該內存不能為「read」 ,並且提示Client.dat程序錯誤。 解決方法:重裝顯卡的最新驅動程序,然後下載並且安裝DirectX9.0。 x0dx0ax0dx0a例六:一個朋友發信息過來,我的電腦便出現了錯誤信息:「0x772b548f」指令引用的「0x00303033」內存,該內存不能為「written」,然後QQ自動下線,而再打開QQ,發現了他發過來的十幾條的信息。 解決方法:這是對方利用QQ的BUG,發送特殊的代碼,做QQ出錯,只要打上補丁或升級到最新版本,就沒事了。 x0dx0ax0dx0a【原因 解決方法】 x0dx0ax0dx0a1 內存條壞了 更換內存條 x0dx0ax0dx0a2 雙內存不兼容 使用同品牌的內存或只要一條內存 x0dx0ax0dx0a3 內存質量問題 更換內存條 x0dx0ax0dx0a4 散熱問題 加強機箱內部的散熱 x0dx0ax0dx0a5 內存和主板沒插好或其他硬體不兼容 重插內存或換個插槽 x0dx0ax0dx0a6 硬體有問題 更換硬碟 x0dx0ax0dx0a7 驅動問題 重裝驅動,如果是新系統,應先安裝主板驅動 x0dx0ax0dx0a8 軟體損壞 重裝軟體 x0dx0ax0dx0a9 軟體有BUG 打補丁或更新到最新版本 x0dx0ax0dx0a10 軟體和系統不兼容 給軟體打上補丁或是試試系統的兼容模式 x0dx0ax0dx0a11 軟體和軟體之間有沖突 如果最近安裝了什麼新軟體,卸載了試試 x0dx0ax0dx0a12 軟體要使用其他相關的軟體有問題 重裝相關軟體,比如播放某一格式的文件時出錯,可能是這個文件的解碼器有問題 x0dx0ax0dx0a13 病毒問題 殺毒 x0dx0ax0dx0a14 殺毒軟體與系統或軟體相沖突 由於殺毒軟體是進入底層監控系統的,可能與一些軟體相沖突,卸載試試 x0dx0ax0dx0a15 系統本身有問題 有時候操作系統本身也會有BUG,要注意安裝官方發行的更新程序,象SP的補丁,最好打上.如果還不行,重裝系統,或更換其他版本的系統。 x0dx0ax0dx0a〔又一說〕 x0dx0ax0dx0a在控制面板的添加/刪除程序中看看你是否安裝了微軟NET.Framework,如果已經安裝了,可以考慮卸載它,當然如果你以後在其它程序需要NET.Framework時候,可以再重新安裝。 x0dx0ax0dx0a另外,如果你用的是ATI顯卡並且你用的是SP2的補丁(一些ATI的顯卡驅動需要在NET.Framework正常工作的環境下)。這種情況你可以找一款不需要NET.Framework支持的ATI顯卡驅動。 x0dx0ax0dx0a如果以上兩種方法並不能完全解決問題,你試著用一下「IE修復」軟體,並可以查查是否有病毒之類的。 x0dx0ax0dx0a〔微軟NET.Framework升級到1.1版應該沒問題了〕 x0dx0ax0dx0a〔還有一說〕 x0dx0ax0dx0a方法一: x0dx0ax0dx0a微軟新聞組的朋友指點:開始--運行:regsvr32 jscript.dll x0dx0ax0dx0a開始--運行:regsvr32 vbscript.dll x0dx0ax0dx0a不過沒解決---但提供了路子-----一次運行注冊所有dll x0dx0ax0dx0a搜索查找到方法如下: x0dx0ax0dx0a運行 輸入cmd 回車在命令提示符下輸入 x0dx0ax0dx0afor %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1 x0dx0ax0dx0a這個命令老兄你慢慢輸 輸入正確的話會看到飛快地滾屏 否則??否則失敗就是沒這效果。回車後慢慢等(需要點時間1-2分鍾) 都運行完再打開看 x0dx0ax0dx0a方法二: x0dx0ax0dx0a這是個典型問題~~~~~引起這個問題的原因很多。一般來講就是給系統打上補丁和更換內存、給內存換個插槽這3種方法來解決。[系統補丁只要到Microsoft Update網站在線更新就可以了] x0dx0ax0dx0a(偶見) x0dx0ax0dx0a造成這種問題的原因很多,不能單純的下結論,盡量做到以下幾點可能對你有幫助: x0dx0ax0dx0a1。確保使用的是未修改過的軟體(非漢化、破解版) x0dx0ax0dx0a2。使用改軟體時盡量不要運行其他軟體。(這是個臨時文件,可能某些軟體也在使用臨時文件夾,所以產生干擾) x0dx0ax0dx0a3。把那些什麼桌面工具,內存整理工具通通關掉(你至少有2個類似的工具在運行)」 x0dx0ax0dx0a處理方法: x0dx0ax0dx0a運行regedit進入注冊表, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks下,應該只有一個正常的鍵值"{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 將其他的刪除。 x0dx0ax0dx0a〔我個人的最後解決和看法〕 x0dx0ax0dx0a我今天嘗試了多種辦法,最後我發現問題出在微軟的NET.Framework上面。我升級了這個軟體,並打齊了補丁,短暫平安後,有出現「內存不能為read」的情況。後來我受上面文章的啟發,卸載了微軟的NET.Framework1.0和1.1,世界太平了。 x0dx0ax0dx0a另外:如果是打開「我的電腦」、「我的文檔」等的時候出現上述情況,還有一種可能,就是你的右鍵菜單太臃腫了,此時只要清理右鍵菜單問題就解決了。 x0dx0ax0dx0a〔試驗的結果〕 x0dx0ax0dx0a上面的方法,最管用、最徹底的方法是這個: x0dx0ax0dx0a運行 輸入cmd 回車在命令提示符下輸入 x0dx0ax0dx0afor %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1 x0dx0ax0dx0a【技巧】如果怕輸入錯誤的話,可以復制這條指令,然後在命令提示框點擊左上角的c:\,使用下面的「編輯-粘貼」功能就不容易輸錯了。在飛速滾屏完全靜止之後,別著急啟動其他程序,先耐心等一會兒,因為此時dll們還在找位置。直到你的指示燈不閃了再做別的。
❾ 為什麼程序會有bug
所謂「(Bug)」,是指電腦系統的硬體、系統軟體(如操作系統)或應用軟體(如文字處理軟體)出錯。硬體的出錯有兩個原因,一是設計錯誤,一是硬體部件老化失效等。軟體的錯誤全是廠家設計錯誤。那種說用戶執行了非法操作的提示,是軟體廠商不負責的胡說八道。用戶可能會執行不正確的操作,比如本來是做加法但按了減法鍵。這樣用戶會得到一個不正確的結果,但不會引起bug發作。軟體廠商在設計產品時的一個基本要求,就是不允許用戶做非法的操作。只要允許用戶做的,都是合法的。用戶根本就沒有辦法知道廠家心裡是怎麼想的,哪些操作序列是非法的。
從電腦誕生之日起,就有了電腦BUG。第一個有記載的bug是美國海軍的編程員,編譯器的發明者格蕾斯·哈珀(Grace Hopper)發現的。哈珀後來成了美國海軍的一個將軍,領導了著名計算機語言Cobol的開發。
1945年9月9日,下午三點。哈珀中尉正領著她的小組構造一個稱為「馬克二型」的計算機。這還不是一個完全的電子計算機,它使用了大量的繼電器,一種電子機械裝置。第二次世界大戰還沒有結束。哈珀的小組日以繼夜地工作。機房是一間第一次世界大戰時建造的老建築。那是一個炎熱的夏天,房間沒有空調,所有窗戶都敞開散熱。
突然,馬克二型死機了。技術人員試了很多辦法,最後定位到第70號繼電器出錯。哈珀觀察這個出錯的繼電器,發現一隻飛蛾躺在中間,已經被繼電器打死。她小心地用攝子將蛾子夾出來,用透明膠布帖到「事件記錄本」中,並註明「第一個發現蟲子的實例。」
從此以後,人們將計算機錯誤戲稱為蟲子(bug),而把找尋錯誤的工作稱為(debug)。
❿ 為什麼軟體里總會有那麼多Bug
1. 人的天性
大多數——當然不是全部——軟體 bug 源於我們自己犯的錯誤。雖然有些是因為軟體編碼工具和編譯器發生了意外,但是大部分的錯誤得歸咎於我們自己。
無論我們受到的 SDL 培訓和安全工具有多麼強大,只要我們還是人,我們就會犯錯。如果你想問為什麼電腦軟體會有這么多的漏洞,歸根到底是因為,人的天性就是容易犯錯。
也就是說,我們在減少人為錯誤方面做得還不夠。有很多程序員因為沒有受到足夠的 SDL 培訓(有的甚至乾脆就沒有培訓),所以根本就沒有安全編程的理念。有時候我特別奇怪:有那麼多的程序員以寫安全軟體為生,卻居然不懂如何安全地編程。別不信,我敢打賭,你正在運行的銀行安全軟體中的 bug 不會比它能提供的保護措施少,搞不好甚至更多。
但是即使是那些經過嚴格訓練的程序員還是不可避免出現 bug。舉個例子,前不久有個自鳴得意的傢伙發明的使用 HTML 標記欄位確定顏色的緩沖區在瀏覽春廳器中溢出了。不像以前還要輸入 FFFFFh 之類的東西,黑客甚至可以直接執行顏色域的代碼,從而導致瀏覽器過度消耗資源、緩沖區溢出。看到沒有,這就是漏洞!而且很少會有人能預料到這種情況。
2. 不斷增加的軟體復雜性
就其本質而言,軟體越復雜,就意味著代碼行數越多。只要你在編程,那麼即使你有多擅長寫代碼,也一定會有錯誤和 bug 出現。有人曾說,如果你能做到每 50 行代碼中只出現一個錯誤,那你就已經做得相當好了。大多數程序員差不多每隔 5 至 15 行就會犯錯。想像一下,這么說吧,一般性的 Linux 內核擁有超過 1500 萬行的代碼,有多少 bug 你自己算吧!
即使沒有編碼錯誤,互聯網時代應用程序的整體互動性也是漏洞被攻擊的途徑。大多數程序員不得不和其他 API 協作,保存和檢索文件,在多種設備上正常工作。所有這些過程都會增加被成功擊破的概率。
而要防守的話,則需要寫更多的代碼,因為得抵禦各種不同的攻擊渠道。這么說吧,如果有一個只有 30 條匯編語言指令的惡意程序,那麼針對相應的防守,你可能至少得寫 50000 條匯編語言指令!
3. Fuzzers 也是人寫出來的
新近冒出來的 Fuzzers 軟體主要用於基鋒掃描軟體漏洞。Fuzzers——以及其他用於尋找編碼錯誤和漏洞的任何程序——都是人寫出來的,還是這句話,是人就會犯錯誤。例如 Fuzzers 是不會發現顏色屬性的緩沖區溢出這種情況的,這是因為我們在寫 Fuzzers 的時候沒有考慮這一方面。不過當我們意識到這一點並對 Fuzzers 進行更新之後,就能做到去查找各種類似的緩沖區溢出條件的欄位。簡而言之,我們要 Fuzzers 做什麼,它才會去做什麼。搏森晌
4. 缺乏對供應商的問責
許多安全專家抱怨,只要我們不能找到證據起訴供應商的軟體缺陷,我們就永遠不會變得更安全。我贊同這一點,增加對供應商的問責有助於降低安全風險,但是同時卻有可能會減緩進度。不過如果軟體公司比現在更能擔當起責任來,那麼我想我們能在手機上、電腦上能自由自在沖浪的感覺會更爽。
但是成功源於功能和速度,而非安全。社會現狀決定了我們必須犧牲一部分安全和保障去換取新鮮感。這不一定是壞事——因為能讓我們成功得更快。但是這樣一來我們就不得不承擔這樣做的後果。不過到目前為止,我們還是心甘情願為了添加更酷的新鮮玩意兒而面對更多的風險。
5. 缺乏對黑客的問責
現實是上面沒有一條能很快解決。但是軟體出現漏洞就其本身而言,真不是什麼大問題。說它脆弱是因為這些軟體在面對惡意攻擊的時候毫無抵擋之力。除非我們能制止黑客的猖獗行徑,否則惡意軟體將會一直困擾著我們。