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...