制造内核崩溃并使用crash分析内核崩溃产生的vmcore文件
生活随笔
收集整理的這篇文章主要介紹了
制造内核崩溃并使用crash分析内核崩溃产生的vmcore文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
制造內核崩潰并使用crash分析內核崩潰產生的vmcore文件 1,安裝kernel-debuginfo$(uname -r).rpm和kernel-debuginfo-common-$(uname -r).rpm 2,開啟內核崩潰轉儲
service kdump start
3,開啟Magic System Request Key功能
echo 1 >/proc/sys/kernel/sysrq
4,永久開啟Magci System Request Key功能
編輯/etc/sysctl.conf文件使kernel.sysrq的值為1,1表示開啟 0表示關閉
vim /etc/sysctl.conf?
kernel.sysrq = 1?
5,制造系統崩潰
echo c >/proc/sysrq-trigger
6,等待系統重啟后重新登錄進入分析崩潰產生的vmcore文件 6.1 使用crash分析vmcore文件 crash ? /usr/lib/debug/lib/module/2.6.32-431.el6.x86_64/vmlinux ? /var/crash/127.0.0.1-2017-04-05-15\:12\:12/vmcore
? 6.2 查看崩潰前的系統調用 crash> bt ? 從上圖我們看到了一個異常[exception RIP: sysrq_handle_crash+22]。下面進一步對這個調用的函數進行分析 6.3 反匯編該段函數 crash> dis -l? sysrq_handle_crash+22 ? 如圖可以看到出現異常的地方是在/usr/src/debug/kernel-2.6.32-431.el6/linux-2.6.32-431.el6.x86_64/drivers/char/sysrq.c:文件的130行的地方,接下來我們查看一下該文件的130行寫著什么 6.4 分析異常函數所對應的文件源碼 ? 從上圖可以看出該函數是強制崩潰,代碼也給出了注釋:/* force panic */ ,把這段代碼copy出來用gdb進行調試會發現報SIGSEGV的錯,如下圖 ? program received signal SIGSEGV,Segmentation fault. 經過查閱資料得知SIGSEGV信號是無效的的內存訪問。就這樣問題被一步一步的找出了,此處是人為調用了系統的強制崩潰,只是為了幫助理解分析系統崩潰的思路和過程。
service kdump start
3,開啟Magic System Request Key功能
echo 1 >/proc/sys/kernel/sysrq
4,永久開啟Magci System Request Key功能
編輯/etc/sysctl.conf文件使kernel.sysrq的值為1,1表示開啟 0表示關閉
vim /etc/sysctl.conf?
kernel.sysrq = 1?
5,制造系統崩潰
echo c >/proc/sysrq-trigger
6,等待系統重啟后重新登錄進入分析崩潰產生的vmcore文件 6.1 使用crash分析vmcore文件 crash ? /usr/lib/debug/lib/module/2.6.32-431.el6.x86_64/vmlinux ? /var/crash/127.0.0.1-2017-04-05-15\:12\:12/vmcore
? 6.2 查看崩潰前的系統調用 crash> bt ? 從上圖我們看到了一個異常[exception RIP: sysrq_handle_crash+22]。下面進一步對這個調用的函數進行分析 6.3 反匯編該段函數 crash> dis -l? sysrq_handle_crash+22 ? 如圖可以看到出現異常的地方是在/usr/src/debug/kernel-2.6.32-431.el6/linux-2.6.32-431.el6.x86_64/drivers/char/sysrq.c:文件的130行的地方,接下來我們查看一下該文件的130行寫著什么 6.4 分析異常函數所對應的文件源碼 ? 從上圖可以看出該函數是強制崩潰,代碼也給出了注釋:/* force panic */ ,把這段代碼copy出來用gdb進行調試會發現報SIGSEGV的錯,如下圖 ? program received signal SIGSEGV,Segmentation fault. 經過查閱資料得知SIGSEGV信號是無效的的內存訪問。就這樣問題被一步一步的找出了,此處是人為調用了系統的強制崩潰,只是為了幫助理解分析系統崩潰的思路和過程。
轉載于:https://www.cnblogs.com/sonwnja/p/6802844.html
總結
以上是生活随笔為你收集整理的制造内核崩溃并使用crash分析内核崩溃产生的vmcore文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《移动App测试实战》——2.2 App
- 下一篇: vue.cli脚手架初次使用图文教程