Linux内核调试方法

2021年9月17日 17点热度 0条评论 来源: 芒果520

#1 内核调试以及工具总结

内核总是那么捉摸不透, 内核也会犯错, 但是调试却不能像用户空间程序那样, 为此内核开发者为我们提供了一系列的工具和系统来支持内核的调试.

内核的调试, 其本质是内核空间与用户空间的数据交换, 内核开发者们提供了多样的形式来完成这一功能.

工具 描述
debugfs等文件系统 提供了 procfs, sysfs, debugfs以及 relayfs 来与用户空间进行数据交互, 尤其是 debugfs, 这是内核开发者们实现的专门用来调试的文件系统接口. 其他的工具或者接口, 多数都依赖于 debugfs.
printk 强大的输出系统, 没有什么逻辑上的bug是用PRINT解决不了的
ftrace以及其前端工具trace-cmd等 内核提供了 ftrace 工具来实现检查点, 事件等的检测, 这一框架依赖于 debugfs, 他在 debugfs 中的 tracing 子系统中为用户提供了丰富的操作接口, 我们可以通过该系统对内核实现检测和分析. 功能虽然强大, 但是其操作并不是很简单, 因此使用者们为其实现了 trace-cmd 等前端工具, 简化了 ftrace 的使用.
kprobe以及更强大的systemtap 内核中实现的 krpobe</
    原文作者:芒果520
    原文地址: https://blog.csdn.net/lx123010/article/details/109854286
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。