崩溃()是指应用程序或操作系统等计算机程序停止正常运行并。此時,操作系统或应用程序會記錄下與崩溃相关的详细信息,如核心转储,以便程序员查看有關崩潰的細節信息並且據此改進程序。
大多数崩溃是由程序错误引起,例如當出現記憶體區段錯誤、程式計數器中的地址值不正确、缓冲区溢出、执行无效的机器指令或触发未处理的异常時都有可能導致程序崩潰。在早期電腦中,嘗試在系統主記憶體之外的硬體位址寫入資料可能會導致硬體損壞。某些崩潰漏洞可被利用,使惡意程式或黑客能執行任意程式碼,從而複製病毒或取得平常無法存取的資料。
應用程式崩潰
上的Bad App出現錯誤|256x256px]]
維多利亞公園的一個LED螢幕上顯示的錯誤訊息|256x256px]]
通常,应用程序在執行作業系統不允許的操作時会崩潰。此時,作業系統會在應用程式中觸發異常或訊號。傳統的Unix應用程式會透過產生核心轉儲檔案來回應該訊號。
導致應用程式崩潰的典型錯誤包括:
*嘗試讀取或寫入未被該應用程式分配用於讀取或寫入的記憶體
*試圖執行特權指令或無效指令
*試圖對它沒有存取權限的硬體設備執行 I/O 操作
*向系統呼叫傳遞無效參數
*嘗試存取應用程式無權存取的其他系統資源
*嘗試使用錯誤的參數執行機器指令(取決於 CPU 架構):除以零、次正規範數或NaN(非數字)值進行操作、存取非對齊記憶體存取等。
閃退
「閃退」()是指程式(通常為電子遊戲)意外退出,突然回到桌面的狀況。通常該狀況僅用於不顯示任何錯誤訊息的崩潰,因此使用者看到的只是桌面。通常閃退並沒有明顯的觸發原因。在正常運作過程中,程式可能會短暫卡頓,然後自動關閉。同樣在正常運作過程中,程式可能會變成黑畫面,並重複播放崩潰前幾秒的聲音(取決於音訊緩衝區的大小)。一些電腦程式(例如StepMania和),如果在處於全螢幕模式時崩潰並返回桌面,會在單獨的視窗中顯示錯誤訊息。
網頁伺服器崩潰
支撑網站运作的網頁伺服器上運行的軟體可能會崩潰,導致網站完全無法使用,或者只顯示錯誤訊息而不是正確內容。
作業系統崩潰
的藍白當機畫面|256x256px]]
無法處理的硬體異常發生時通常會發生作業系統崩潰。此外,當作業系統內部的完整性檢查邏輯偵測到系統失去內部一致性時,也可能發生作業系統崩潰。
現代具備多工處理的系統(例如:Linux、macOS)通常不會受應用程式崩潰影響。
某些作業系統(例如z/OS)具有可靠性、可用性和可維護性(RAS)功能,作業系統可以從關鍵元件崩潰中恢復,無論是硬體故障還是軟體故障。
相關條目
*藍屏死機
*
*
*重新啟動
*安全模式
*未定義行為
参考文献
评论 (0)