1. 程式人生 > >定位linux 核心oops具體程式碼的簡便方法

定位linux 核心oops具體程式碼的簡便方法

通常是使用objdump對檔案反彙編,然後去查詢對應錯誤,下面介紹兩種更簡單的方法:

方法一:

假如我們要檢視0xffffffff8124d1f9地址對應的是核心中哪個檔案哪一條程式碼,可以按照如下方法來做:

~/crosstools/x86_64_gcc6.2.0_glibc2.24.0/bin/x86_64-pc-linux-gnu-addr2line -e vmlinux -a ffffffff8124d1f9

方法二:
啟動一個完好的核心,然後在啟動的核心中匯入 上次發生oops的核心映象vmlinux 和 gdb 工具到當前目錄下。

假設上次發生oops時pc指標在0x8025a898,然後執行如下命令:

# gdb vmlinux

# (gdb) b*0x8025a898

這樣就可以看到出現oops時出現在核心原始碼的哪個檔案、哪一行。