显示页面过去修订反向链接回到顶部 本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。 # Linux内核调试方法 问题可以分为几类 1. crash 2. lockup, 预防比调试更重要 3. 逻辑错误或者实现错误, 运行结果不符合预期 4. 资源泄露 5. 性能不足 调试工具: 1. log and dump分析, 很多异常都会有一堆kenrel panic信息,通过这些信息可以分析出引起异常的代码 2. Tracing / Profiling, 可以用来追踪程序的运行流程 3. 交互式的debug, 例如gdb 4. debugging frameworks, 例如Ftrace, SystemTap # 触发kernel panic echo "c" > /proc/sysrq-trigger 或者通过LKDTM ##最常用的方法: 打印 *printk* 最原始的方法,不推荐使用 *pr_xx* 使用pr_xx 函数族类替代 printk, 例如 pr_emerg(), pr_alert(), pr_crit(), pr_err(), pr_warning(), pr_notice(), pr_info(), pr_debug() *dev_xx* 同样是一个函数族, dev_emerg(), dev_alert(), dev_crit(), dev_err(), dev_warn(), dev_notice(), dev_info(), dev_dbg() 需要传入strice device* 参数, 并且会打印出这个device的名字 https://www.modb.pro/db/87730 blog/linux_kernel/debug.txt 最后更改: 2025/02/02 23:10由 127.0.0.1