Linux驅動加載後kernel panic的oops信息分析

kernel panic 表示Linux kernel走到了一個不知道該怎麼走下一步的狀況,一旦到這個情況,kernel就儘可能把它此時能獲取的全部信息都打印出來,至於能打印出多少信息。

首先看一下出錯的kernel panic 現象,下面是一個kernel panic的出錯log:

如上崩潰信息,可知發生崩潰的函數爲proslic_api_char_dev_init函數,偏移爲0xf4的位置。這裏介紹2種方法處理這個情況,分別針對編譯爲模塊的驅動和編譯進內核的驅動。

1. 如果發生的錯誤函數是屬於驅動模塊的,執行:arm-none-linux-gnueabi-objdump -D first_drv.ko > first_drv.dis

2. 如果發生的錯誤函數是屬於內核的,這個時候和發生在模塊裏類似,不過這裏要反彙編整個內核:arm-none-linux-gnueabi-objdump -D vmlinux > vmlinux.dis

也可以通過這個教程使用gdb來定位錯誤行數:https://blog.csdn.net/lickylin/article/details/19172725

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章