處理核心出錯資訊

2021-05-23 21:38:16 字數 496 閱讀 5075

當系統出現錯誤時,核心有兩個基本的錯誤處理機制:oops和panic。

1.oops

(1)oops訊息包含系統錯誤的詳細資訊

通常oops資訊中包含當前程序的棧回溯和cpu暫存器的內容。ksymoops工具可以將機器指令轉換為**並將堆疊值對映到核心符號。

(2)使用ksymoops轉換oops資訊

ksymoops工具可以翻譯oops資訊,從而分析發生錯誤的指令,並顯示乙個跟蹤部分表明**如何被呼叫。它是根據核心映像的system.map來轉換的,因此,必須提供正在執行的核心映像的system.map檔案。

(3)核心kallsyms選項支援

通過定義config_kallsyms配置選項啟動。該選項可以載入核心映像對應記憶體位址的符號的名稱 ,核心可以直接跟蹤回溯函式名稱,而且不再列印難懂的機器碼了。這樣就不要system.map和ksymoops工具了。因為符號表要編譯到核心映像中,所以核心映像會變大,並且符號表永久駐留在記憶體中。

2.panics

11 出錯資訊的處理

你會處理出錯資訊嗎?哦,它並不是簡單的輸出。看下面的示例 if p null 告別學生時代的程式設計吧。這種程式設計很不利於維護和管理,出錯資訊或是提示資訊,應該統一處理,而不是像上面這樣,寫成乙個 硬編碼 第10條對這方面的處理做了一部分說明。如果要管理錯誤資訊,那就要有以下的處理 宣告出錯 de...

MYSQL出錯資訊對照

1005 建立表失敗 1006 建立資料庫失敗 1007 資料庫已存在,建立資料庫失敗 1008 資料庫不存在,刪除資料庫失敗 1009 不能刪除資料庫檔案導致刪除資料庫失敗 1010 不能刪除資料目錄導致刪除資料庫失敗 1011 刪除資料庫檔案失敗 1012 不能讀取系統表中的記錄 1020 記錄...

asp出錯資訊列表

adodb.stream 0x800a0bbc 上傳檔案時發生錯誤 找不到上傳的目錄 0x80020009 當前rs指標所指向記錄的字段值為null,不能使用 adodb.field 0x80020009 當前rs指標所指向記錄的字段值為null,不能輸出 adodb.field 0x800a0bc...