使用KDB调试工具

  KDB是针对官方版本的linux内核代码,所以无法使用Ubuntu自带的linux内核版本,需从官网上下载。

1、从ftp://oss.sgi.com/www/projects/kdb/download上下载对应内核代码版本的KDB补丁,

如linux内核2.6.18版本,需下载kdb-v4.4-2.6.18-common-1.bz2和kdb-v4.4-2.6.18-i386-1.bz这2个文件。

2、问价下载完后,存放到/usr/src目录下,使用bzip2工具解压:

$sudo bzip2 -d kdb-v4.4-2.6.18-common-1.bz2
$sudo bzip2 -d kdb-v4.4-2.6.18-i386-1.bz

3、进入/usr/src/linux目录,该目录存放了2.6.18的内核代码。使用patch工具对内核代码打补丁:

$ patch -p1 < ../kdb-v4.4-2.6.18-common-1.bz2
$ patch -p1< ../kdb-v4.4-2.6.18-i386-1.bz

如果没有提示出错,这表示成功。

4、编译内核

     更新ubuntu的内核编译软件包:

$sudo apt-get install kernel-package
$sudo apt-get install libncurses5-dev
$sudo apt-get install fakeroot
$sudo apt-get install wget

之后使用make oldconfig导入到前版本的内核配置。导入配置之后,使用make menuconfig进入内核配置界面,进入Kernel hacking 菜单,打开Built-in Kernel Debugger support,然后打开KDB off by default和KDB modules两个选项,保存退出。

接下来编译并安装内核:

$sudo make
$sudo make modules_install
$sudo make install
安装完后,会在GRUB的启动菜单添加一项2.6.18版本的内核启动菜单。

从新启动机器,选择从2.6.18版本内核启动。

启动后通过/proc文件系统打开KDB:

$sudo echo "1" > /proc/sys/kernel/kdb

回车后如果没有任何提示,表示打开KDB成功。

按下Pause/Break键,会进入KDB的调试界面。

退出界面时,输入go然后回车即可。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值