Linux驱动调试手段:KDB
2013-05-24 15:53
281 查看
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。
相关文章推荐
- 用kdb调试linux内核驱动
- 用kdb调试linux内核驱动
- 用kdb调试linux内核驱动
- Linux驱动调试手段:打印信息日志
- Linux驱动添加的基本流程(SDRAM中调试驱动)
- SPI linux 驱动调试感悟
- linux驱动调试--段错误之oops信息分析
- 当产品没有USB,没有网卡时怎么调试linux 驱动/应用程序?
- 在Zynq 7000平台上使用Linux spidev.c驱动,调试spi设备
- Linux驱动开发常用调试工具---之devmem
- linux驱动调试之段错误分析_根据pc值确定出错的代码位置
- Linux内核驱动开发之KGDB单步调试内核(kgdboc方式)
- linux驱动调试相关
- linux 驱动调试笔记二----LCD驱动01
- 2440,嵌入式linux平台12864驱动(调试完成)
- 自己制作Linux驱动调试工具之查看寄存器
- Linux程序崩溃调试手段--core使用(续)
- Linux内核驱动开发之KGDB单步调试内核(kgdboc方式)
- linux 驱动调试笔记二----LCD驱动02
- Linux设备驱动调试技术 1