歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 使用 Crash 工具分析 Linux dump 文件

使用 Crash 工具分析 Linux dump 文件

日期:2017/2/28 16:19:47   编辑:Linux教程

前言

Linux 內核(以下簡稱內核)是一個不與特定進程相關的功能集合,內核的代碼很難輕易的在調試器中執行和跟蹤。開發者認為,內核如果發生了錯誤,就不應該繼續運行。因此內核發生錯誤時,它的行為通常被設定為系統崩潰,機器重啟。基於動態存儲器的電氣特性,機器重啟後,上次錯誤發生時的現場會遭到破壞,這使得查找內核的錯誤變得異常困難。

內核社區和一些商業公司為此開發了很多種調試技術和工具,希望可以讓內核的調試變得簡單。其中一種是單步跟蹤調試方法,即使用代碼調試器,一步步的跟蹤執行的代碼,通過查看變量和寄存器的值來分析錯誤發生的原因。這一類的調試器有 gdb,kdb, kgdb。另一種方法是在系統崩潰時,將內存保存起來,供事後進行分析。多數情況下,單步調式跟蹤可以滿足需求,但是單步跟蹤調試也有缺點。如遇到如下幾種情況時:

錯誤發生在客戶的機器上。

錯誤發生在很關鍵的生產機器上。

錯誤很難重現。

單步調試跟蹤方法將無能為力。對於這幾種情況,在內核發生錯誤並崩潰的時候,將內存轉儲起來供事後分析就顯得尤為重要。本文接下來將介紹內核的內存轉儲機制以及如何對其進行分析。

Copyright © Linux教程網 All Rights Reserved