linux 核心崩潰處理

2021-06-20 06:24:40 字數 697 閱讀 1586

pc : [1.定位**崩潰在核心中還是***.ko

cat  /proc/kallsyms >1.txt

c0034818 t __kmalloc

c00082a8 t quiet_kernel /*最開始的是虛擬位址*/

...bf000000  t $a [cdd]

由此可看**崩潰在***.ko

2.定位崩潰在***.ko中的哪個函式

arm-linux-objdump -d cdd.ko >2.txt

00000000

0:e1a0c00d

mov ip,sp //編譯位址,編譯後的指令,組合語言

編譯位址+0xbf000000 = 存放位址

0000009c

9c:e1a0c00dmov ip,sp

a0:e92dd8f0push

b8:e5c43000strbr3,[r4] ------此處出現問題

由此知道崩潰在cdd_open函式

3. 反彙編核心**了解cdd_open被呼叫流程

arm-linux-objdump -d vmlinux >3.txt

cdd_open壓棧,push

這8個資料就是你要壓的資料,lr暫存器的值是函式呼叫完要返回的位址

根據lr,檢視上一次呼叫cdd_open的函式

以此類推,可以得到呼叫流程

linux核心崩潰除錯

用kdump 和 crash 工具分析核心的奔潰資訊 當linux核心發生崩潰的時候,可以用kdump等方式收集核心崩潰之前的記憶體,生成乙個轉儲檔案vmcore,核心開發者通過分析轉儲檔案core就可以診斷出核心崩潰的原因,從而進行作業系統 的改進,用crash工具分析vmcore檔案 crash...

Linux核心崩潰轉儲機制

當 系統出現panic的時候,kdump 核心崩潰轉儲機制 會通過呼叫kexec來快速的啟動預先準備好的dump capture kernel.該啟動方式與快速啟動機制類似,不會經過bios,屬於熱啟動。dump capture kernel 啟動後,前乙個核心執行時的記憶體映象會被儲存到 proc...

linux核心細節 va arg 錯誤 崩潰

最近做windows至linux遷移,碰到乙個linux核心的問題,define bnd x,bnd sizeof x bnd bnd define va arg ap,t t ap bnd t,aupbnd bnd t,adnbnd define va end ap ap va list null...