調試內核的方法總結

使用kern.log 日誌文件來調試內核,應用的場景真的非常的少,而且如果printk語句打印過多就會容易發生死機。
另外還有兩種方法可以調試內核,第一通過kdump方法,第二種方法是使用sysrq。

首先介紹sysrq,在2.1.x系列,就已經有sysrq了。所以他的歷史還是比較久遠,而且比較穩定。
第一步,看看內核是否支持sysrq。

點擊(此處)摺疊或打開

  1. $grep “ CONFIG_MAGIC_SYSRQ ” /boot/config-`uname – r` 
  2. CONFIG_MAGIC_SYSRQ=y
第二步,如果支持,下一步打開sysrq開關:
sysctl -w kernel.sysrq = 1
如果想開機自己啓動這個開關,可以修改/etc/sysctl.conf 
加入 
kernel.sysrq = 1

第三步,開始測試一下sysrq的效果。
sysrq的使用時組合鍵,使用方法是ALT+SysRq + <command key>.
command key:

M - 打印內存使用信息
T - 打印當前的task的棧的信息
W - 打印 CPU 信息
C - 觸發 Crashdump,這個命令可以讓系統死機陷入一個空指針的bug當中,這個是sysrq故意營造的bug來測試crashdump。
P - 打印當前 CPU 寄存器信息


下次將講解kdump的使用方法。

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
閱讀(559) | 評論(0) | 轉發(1) |
給主人留下些什麼吧!~~
評論熱議
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章