kdb使用1

  1. 简介
    • Built-in Kernel Debugger for Linux
    • http://oss.sgi.com/projects/kdb/
    • Linux内核本身不带debug工具,KDB通过给标准内核打patch来实现调试,patch包括一个通用文件和一个与体系结构相关的文件,目前支持的体系结构是x86(包括i386和x86_64)和ia64
    • KDB的一个特色是更新特别快,比如当前最新的Linux版本是linux-2.6.31-rc2,KDB也立刻对此版本进行了patch更新
  2. 下载及安装
    • ftp://oss.sgi.com/projects/kdb/download/
    • 下载说明
      • kdb-v4.4-2.6.31-rc2-common-2.bz2
      • kdb-v4.4-2.6.31-rc2-ia64-2.bz2
      • kdb-v4.4-2.6.31-rc2-x86-2.bz2
      • KDB提供了以上三种patch文件,含义如下
        • v4.4是KDB的版本号
        • 2.6.31-rc2是Linux内核的版本号
        • common是通用patch,必须下载
        • ia64和x86根据自己的体系结构,选择一种下载
        • 最后的-2表示有多个同样的patch,选择数目最大的下载
    • 安装
      • 实验环境
        • Linux-2.6.25.tar.bz2
        • kdb-v4.4-2.6.25-common-1.bz2
        • kdb-v4.4-2.6.25-x86-2.bz2
      • 安装过程
        • tar -jxf Linux-2.6.25.tar.bz2
        • bunzip2 kdb-v4.4-2.6.25-common-1.bz2
        • bunzip2 kdb-v4.4-2.6.25-x86-2.bz2
        • cd Linux-2.6.25
        • patch -p1 < ../kdb-v4.4-2.6.25-common-1
        • patch -p1 < ../kdb-v4.4-2.6.25-x86-2
        • make menuconfig
          • enable CONFIG_FRAME_POINTER
        • make;make modules;make modules_install;make install
        • reboot
  3. 控制KDB
    • 通过grub
      • kdb=on    开启kdb
      • kdb=off    关闭kdb
      • kdb=early  刚进入系统时就暂停并进入kdb
      • kdb=on-nokey    任何键盘按键都不能触发kdb
    • 通过proc
      • echo '0' > /proc/sys/kernel/kdb            关闭kdb
      • echo '1' > /proc/sys/kernel/kdb            开启kdb
      • echo '2' > /proc/sys/kernel/kdb            任何键盘按键都不能触发kdb
    • 进入kdb环境的方式
      • 在linux运行过程中按下“Pause Break”键
      • 系统panic时自动进入
      • 在内核代码中调用KDB_ENTER()函数
  4. KDB命令解析
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值