如何调试linux内核?

Posted Jello

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何调试linux内核?相关的知识,希望对你有一定的参考价值。

1. printk + /proc/sys/kernel/printk
    printk(KERN_DEBUG "I have a dream ");

    +

echo 8 > /proc/sys/kernel/printk

2. cat /proc/ksyms (内核符号表)

3. gdb
    gdb vmlinux /proc/kcore (适用于检查符号表)

4. kgdb (远程调试)

5. magic sysrq key (system hang)

echo 1 > /proc/sys/kernel/sysrq (enable magic sysrq)

6. kdb

7. UML (The User-Mode Linux Port, 内核运行在用户空间,相当于一个进程)

8. LTT (The Linux Trace Toolkit, 适用于调试和追踪性能问题)

9. DProbes(Dynamic Probes)

以上是关于如何调试linux内核?的主要内容,如果未能解决你的问题,请参考以下文章

如何调试ARM Linux内核(msleep())锁定?

RK3399平台开发系列讲解(内核调试篇)9.30如何在Linux kernel代码中获取当前进程的信息

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

构建调试Linux内核网络代码的环境MenuOS系统

使用QEMU调试Linux内核代码

利用QEMU+GDB搭建Linux内核调试环境