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然后回车即可。

linux kdb内核调试器,使用KDB调试工具相关推荐

  1. linux kdb内核调试器,linux kdb 内核调试器

    许多读者可能奇怪为什么内核没有建立更多高级的调试特性在里面.答案, 非常简单, 是 Linus 不相信交互式的调试器. 他担心它们会导致不好的修改, 这些修改给问题打了补丁 而不是找到问题的真正原因. ...

  2. Linux 内核调试器 调试指南

    Linux 内核调试器内幕 KDB 入门指南 Hariprasad Nellitheertha (nharipra@in.ibm.com), 软件工程师, IBM 简介: 调试内核问题时,能够跟踪内核 ...

  3. 开源项目-基于Intel VT技术的Linux内核调试器

    本开源项目将硬件虚拟化技术应用在内核调试器上,使内核调试器成为VMM,将操作系统置于虚拟机中运行,即操作系统成为GuestOS,以这样的一种形式进行调试,最主要的好处就是调试器对操作系统完全透明.如下 ...

  4. KDB内核调试 - 1

    KDB内核调试 - 1 1 下载linux内核源码和补丁 首先kdb不是Linux内核的标准配置,需要先到这个网站上去下载补丁 ftp://oss.sgi.com/www/projects/kdb/d ...

  5. kdb内核调试 - 5

    KDB内核调试 - 5 id:指令反汇编 格式:id <vaddr> 从vaddr开始的地址反汇编指令. cpu:切换到另一个CPU 格式:cpu <cpunum> 这条命令仅 ...

  6. kdb内核调试 - 3

    KDB内核调试 - 3 kdb的基本用法 安装新内核后,使用新内核重新启动机器,现在,内核已经有kdb支持了.那么如何进入调试环境呢?如果在配置内核 时,没有选择kdb-off by default, ...

  7. 基于IntelVt技术的Linux内核调试器 - 2

    4 基于IntelVt技术的Linux内核调试器- 调试器设计与实现(2):调试核心 4.1反汇编引擎 如果说调试框架是一个调试器的灵魂,那么接口与反汇编引擎就是一个调试器的身体.我们在调试过程中是要 ...

  8. 错误:由于系统启用了内核调试器,因此不可能进行调试解决方案

    错误:由于系统启用了内核调试器,因此不可能进行调试解决方案 原文地址如下所示: http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1 ...

  9. 基于windows PE文件的恶意代码分析;使用SystemInternal工具与内核调试器研究windows用户空间与内核空间...

    基于windows PE文件的恶意代码分析:使用SystemInternal工具与内核调试器研究windows用户空间与内核空间 ******************** 既然本篇的主角是PE文件,那 ...

最新文章

  1. 使用SQLite删除Mac OS X 中launchpad里的快捷方式
  2. 计算机技术与软件专业技术资格(水平)考试常见问题
  3. 【Linux】- 获取root权限命令
  4. Unity基础之:UnityAPI的学习
  5. SQL Server in Docker - 还原数据库
  6. 高等数学下-赵立军-北京大学出版社-题解-练习9.3
  7. Android增加自定义监听事件
  8. ShardingSphere 语句解析生成初探
  9. UVa11988 Broken Keyboard (a.k.a. Beiju Text)
  10. native2ascii.exe详细使用方法、native2ascii转换示例
  11. GreenDotNet0.1.1发布(.Net精简环境)及示例.Net在线漫画下载器
  12. 第九篇:人生中哪些是对错的选择?
  13. java时区ZoneId集
  14. 4K分辨率火狐浏览器宋体过细解决方法
  15. 【球迷福利】NBA球员数据分析
  16. mapgis java二次开发_mapgis7.0二次开发小试牛刀
  17. 图解IFRS9 金融工具(8)减值准备规则比较
  18. 中小型网络系统总体规划与设计方法(二 )
  19. OC高级foundation框架类以及数据的简单存储
  20. CCI指标之预测范围以及CCI指标之预测分析

热门文章

  1. C# 判断一字符串是否为合法数字(正则表达式)
  2. 吹毛求疵C#(1)明确赋值检查缺陷
  3. 将十进制数转为N进制的方法
  4. jsp+servlet+java 实现统计在线人数
  5. Vue快速入门笔记(一)
  6. 终端服务器安全层在协议流中检测到错误,终端服务器安全层在协议流中检测到错误,并已取消客户端连接...
  7. java接收uniapp上传的图片_uni-app 上传图片的坑
  8. crontab 日志_聊聊老板让我删除日志文件那些事儿
  9. 坯子库和suapp哪个好用_「双全科技」进销存软件哪个简单好用,管家婆进销存软件教程...
  10. python画图去掉边框