Chinaunix首页 | 论坛 | 博客
  • 博客访问: 346316
  • 博文数量: 161
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 345
  • 用 户 组: 普通用户
  • 注册时间: 2013-12-13 11:04
文章分类

全部博文(161)

文章存档

2015年(15)

2014年(144)

2013年(2)

我的朋友

分类: 服务器与存储

2014-11-19 00:02:15

原文地址:调试内核的方法总结 作者:shenyanxxxy

使用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:

M - 打印内存使用信息
T - 打印当前的task的栈的信息
W - 打印 CPU 信息
C - 触发 Crashdump,这个命令可以让系统死机陷入一个空指针的bug当中,这个是sysrq故意营造的bug来测试crashdump。
P - 打印当前 CPU 寄存器信息


下次将讲解kdump的使用方法。

阅读(679) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~