linux kdb内核调试器,使用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然后回车即可。
linux kdb内核调试器,使用KDB调试工具相关推荐
- linux kdb内核调试器,linux kdb 内核调试器
许多读者可能奇怪为什么内核没有建立更多高级的调试特性在里面.答案, 非常简单, 是 Linus 不相信交互式的调试器. 他担心它们会导致不好的修改, 这些修改给问题打了补丁 而不是找到问题的真正原因. ...
- Linux 内核调试器 调试指南
Linux 内核调试器内幕 KDB 入门指南 Hariprasad Nellitheertha (nharipra@in.ibm.com), 软件工程师, IBM 简介: 调试内核问题时,能够跟踪内核 ...
- 开源项目-基于Intel VT技术的Linux内核调试器
本开源项目将硬件虚拟化技术应用在内核调试器上,使内核调试器成为VMM,将操作系统置于虚拟机中运行,即操作系统成为GuestOS,以这样的一种形式进行调试,最主要的好处就是调试器对操作系统完全透明.如下 ...
- KDB内核调试 - 1
KDB内核调试 - 1 1 下载linux内核源码和补丁 首先kdb不是Linux内核的标准配置,需要先到这个网站上去下载补丁 ftp://oss.sgi.com/www/projects/kdb/d ...
- kdb内核调试 - 5
KDB内核调试 - 5 id:指令反汇编 格式:id <vaddr> 从vaddr开始的地址反汇编指令. cpu:切换到另一个CPU 格式:cpu <cpunum> 这条命令仅 ...
- kdb内核调试 - 3
KDB内核调试 - 3 kdb的基本用法 安装新内核后,使用新内核重新启动机器,现在,内核已经有kdb支持了.那么如何进入调试环境呢?如果在配置内核 时,没有选择kdb-off by default, ...
- 基于IntelVt技术的Linux内核调试器 - 2
4 基于IntelVt技术的Linux内核调试器- 调试器设计与实现(2):调试核心 4.1反汇编引擎 如果说调试框架是一个调试器的灵魂,那么接口与反汇编引擎就是一个调试器的身体.我们在调试过程中是要 ...
- 错误:由于系统启用了内核调试器,因此不可能进行调试解决方案
错误:由于系统启用了内核调试器,因此不可能进行调试解决方案 原文地址如下所示: http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1 ...
- 基于windows PE文件的恶意代码分析;使用SystemInternal工具与内核调试器研究windows用户空间与内核空间...
基于windows PE文件的恶意代码分析:使用SystemInternal工具与内核调试器研究windows用户空间与内核空间 ******************** 既然本篇的主角是PE文件,那 ...
最新文章
- 使用SQLite删除Mac OS X 中launchpad里的快捷方式
- 计算机技术与软件专业技术资格(水平)考试常见问题
- 【Linux】- 获取root权限命令
- Unity基础之:UnityAPI的学习
- SQL Server in Docker - 还原数据库
- 高等数学下-赵立军-北京大学出版社-题解-练习9.3
- Android增加自定义监听事件
- ShardingSphere 语句解析生成初探
- UVa11988 Broken Keyboard (a.k.a. Beiju Text)
- native2ascii.exe详细使用方法、native2ascii转换示例
- GreenDotNet0.1.1发布(.Net精简环境)及示例.Net在线漫画下载器
- 第九篇:人生中哪些是对错的选择?
- java时区ZoneId集
- 4K分辨率火狐浏览器宋体过细解决方法
- 【球迷福利】NBA球员数据分析
- mapgis java二次开发_mapgis7.0二次开发小试牛刀
- 图解IFRS9 金融工具(8)减值准备规则比较
- 中小型网络系统总体规划与设计方法(二 )
- OC高级foundation框架类以及数据的简单存储
- CCI指标之预测范围以及CCI指标之预测分析
热门文章
- C# 判断一字符串是否为合法数字(正则表达式)
- 吹毛求疵C#(1)明确赋值检查缺陷
- 将十进制数转为N进制的方法
- jsp+servlet+java 实现统计在线人数
- Vue快速入门笔记(一)
- 终端服务器安全层在协议流中检测到错误,终端服务器安全层在协议流中检测到错误,并已取消客户端连接...
- java接收uniapp上传的图片_uni-app 上传图片的坑
- crontab 日志_聊聊老板让我删除日志文件那些事儿
- 坯子库和suapp哪个好用_「双全科技」进销存软件哪个简单好用,管家婆进销存软件教程...
- python画图去掉边框