12 如何分析kernel panic?

2021-07-24 15:50:46 字數 572 閱讀 4742

[description]

當kernel發生異常時,會在重啟後生成對應的db,用gat的logviewer可以解開,如果是普通的ke或hwt,並且存在sys_mini_rdump或者sys_coredump,則可以借助gdb/crash進一步debug,否則只能檢視log分析問題的可能性了。

[solution]

以下兩個方法都需要對應的vmlinux,詳情請檢視faq06985。

1. 存在sys_mini_rdump並且其大小》32kb(太小則可能檔案錯誤)

最後的bt是檢視當前的呼叫棧,其他命令的話,直接到官方**看手冊即可。

如果是hwt(看門狗復位),可以通過info threads看到其他cpu的狀態和呼叫棧,用thread 2/3/4...切換不同的cpu,thread 2 => 切換到cpu0,thread 3 => 切換到cpu1,以此類推。

使用trace32分析

2. 存在sys_coredump(該檔案是否存在請看[faq13784]ramdump介紹)

bt是檢視當前的呼叫棧,其他命令的話,直接到官方**看手冊即可。

使用trace32分析

12 以太坊原始碼分析 12 交易資料分析

交易的資料結構定義在core.types.transaction.go中,結構如下 type transaction struct交易的結構體中只有乙個data欄位,是txdata型別的。其他的hash,size,from都是快取。txdata結構體定義如下 type txdata structac...

《12個球問題》分析

12個球問題 分析 有十二個桌球形狀 大小相同,其中只有乙個重量與其它十乙個不同,現在要求用一部沒有砝碼的天秤稱三次,將那個重量異常的球找出來,並且知道它比其它十乙個球較重還是較輕。這是在園友 小 金 魚 的 寂寞的程式人生 中看到的乙個題目,11道題智商超 200 這幾個字完全吸引了我,迅速在 g...

《12個球問題》分析

12個球問題 分析 有十二個桌球形狀 大小相同,其中只有乙個重量與其它十乙個不同,現在要求用一部沒有砝碼的天秤稱三次,將那個重量異常的球找出來,並且知道它比其它十乙個球較重還是較輕。這是在園友 小 金 魚 的 寂寞的程式人生 中看到的乙個題目,11道題智商超 200 這幾個字完全吸引了我,迅速在 g...