操作系统级别的调试
单步调试
打印信息调试
日志文件
内核调试
Linux下虚拟文件系统的意义,内核的调试是非常麻烦的,给里面添加或者更改一个功能是非常麻烦的,
边际成本是非常高的,这样就想出了办法,到了2.4左右靠个人维系不住了,为了便于开发,大神们添加了一些属性,专门用于调试内核,proc就是专门用于调试内核的
思路是:在内核中,构建一个虚拟的proc文件系统,内核运行时,将内核的一些关键的数据结构,以文件的方式,呈现的proc文件系统中的一些特定文件里面,这样,将内核的一些信息,以可视化的方法呈现给开发者。这样可以实时看到内核抛出来的一些系统信息,proc文件系统,给开发者一种调试内核的方法,通过观察/proc/xx文件来观察结构体的值,通过前后对比就知道这这个新功能对不对
cd /proc
ls
这些文件只有动态文件,没有静态文件,换句话说,只存在于内存里,没在硬盘上
/proc/cmdline uboot实时传进来的参数
当用cat操作文件的时候会看见
或者用vi实时查看
并不是去硬盘找文件,而是在内核实时抛出来的,尽管看到的跟普通文件是一样的,其实是实时内核跑出来的,不是来自硬盘的
cat /proc/cpuinfo 看cpu信息
cat /proc/devices 看系统装的所有的驱动
字符型设备驱动
块设备驱动
cat /proc/version 内核版本信息
cat /proc/zoneinfo 时区信息
proc相当于给了哦一双眼睛,能钻进内核里面,看到内核里面变化的数据结构信息