Linux驱动调试手段:KDB

本文介绍了KDB——Linux内核调试补丁的功能与使用方法。包括如何激活和关闭KDB,KDB提供的多种调试操作如单步执行、内存显示与修改等。还详细解释了各种调试命令的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.KDB介绍

KDB是Linux内核调试补丁,提供一种在系统能运行时对内核内存和数据结构进行检查的办法。它不允许进行源代码级别上的调试。可以添加额外的命令,给出该数据结构的标识或地址。

2.KDB操作

a.处理器单步执行。
b.执行到某条特定指令时停止。
c.当存取(或修改)某个特定的虚拟内存位置时停止。
d.当存取输入/输出地址空间中的寄存器时停止,通过进程ID对当前活动的任务和所有其他任务进行堆栈回溯跟踪。
e.对指令进行反汇编。
f.追击内存溢出。

3.KDB配置

参考其他教程

4.KDB激活

激活:
echo “1”> /proc/sys/kernel/kdb

取消激活:
echo “0”> /proc/sys/kernel/kdb

5.KDB命令

运行:
go:继续程序执行。
ss:单步执行程序。
ssb:执行到分支或函数调用时停止。

内存显示和修改
md:显示内存内容。
mdr:显示原始的内存内容。
mm:修改内存内容
mds:以符号的方式显示内存内容。
寄存器修改和显示
rd:显示寄存器内容。
rm:修改寄存器内容。
ef:显示异常帧。

断点
bp/b1:设置或显示断点。
bc/be:清除/激活断点。
bd:使断点无效。
bpa:设置或显示全局断点。
bph/bpha:设置硬件断点或显示所有断点。

堆栈
bt:显示调用堆栈。
btp:显示进程的堆栈。
bta:显示所有进程的堆栈。
btc:命令对每个活动CPU上正在运行的进程执行堆栈回溯。
其他命令
参考help。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值