KGDB移植开发

1 KGDB概述

       KGDBKernel GNU Debugger)是一种源代码级Linux 内核调试器,它以桩函数的方式存在于内核的各个异常处理函数入口,接管内核所有的异常处理。它构建了一种对内核异常的管理机制,例如对断点异常的管理,对单步异常的管理等,通过对这些异常的管理来达到调试内核的目的。KGDB 与运行在主机端的调试器GDBGNU Debugger)配合使用,为调试Linux 内核提供了一种交叉调试机制。GDB KGDB 通过串口或网口进行信息交互,用户可以动态地查看和修改系统的各种变量,或者在内核中进行断点设置、单步执行、查看寄存器和堆栈等操作,与调试普通的应用程序非常相似。

本文就KGDB 内核版本的制作、配置、编译和环境搭建进行详细的描述,能对用户自行搭建KGDB环境并调试起到指导作用。

1.1 KGDB的获取方式

       Linux 的发布网站上可以获取到2.6.152.6.20 KGDB 补丁。2.6.21 的发布移到了开源网站sourceforge 上。由于KGDB 补丁并不是对所有内核版本都支持,在选择补丁版本时应选择与内核版本最接近的。目前M300项目基于Linux 2.6.21开发,而KGDB 补丁恰好没有该版本,所以选择2.6.18(arm, ppc, mips)的补丁作为移植对象。由于内核与补丁的版本号不相同,只能靠手工合代码的方式将补丁中的代码移植出来,而不能使用patch 命令。因此选择2.6.18补丁作为移植对象。

网址:

http://www.eu.kernel.org/pub/linux/kernel/people/agk/patches/2.6/

http://www.eu.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/

1.2 KGDB的代码结构

 

1.2.1 公共代码

       公共代码即对与处理器架构无关的代码进行修改,来使KGDB 获得对内核的统一的处理。这其中包括:

Ø         网卡驱动和串口驱动部分:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值