linux内核,fs,app ,debug调试手段

一、linux 内核,BootLoader fs启动阶段,或正常运行时,一些调试手段

	内核启动时,一般是printk打印消息到串口 console控制台或通过系统调用,转发到syslog,zelog日志,或通过命令dmesg查看本次内核启动过程,
	调试内核,驱动时,可以通过查看/sysfs ,/proc debugfs,sysctl命令,查看内核参数配置,启动结果,dts配置等。死机panic,crash时,有kdump,tracefs等,有些soc厂家会有自己的方法,tcu_log,adb,gdb。

内核使用 printk() 函数往内核空间的一个 ring buffer 中写入日志消息. 该消息有三种方法可以被用户空间的应用所获取

通过 /proc/kmsg 文件
这是一个只读的伪FIFO文件,且里面的消息只能被读取一次。当多个进程同时尝试读取该文件时,每个进程将只能读取到一部分日志内容。

通过 /dev/kmsg
这是一个可读写的字符设备文件,且允许多个进程进行读取,每个进程都能得到完整的数据流。 而且由于它是可读写的,因此你还可以插入消息到内核日志中。

通过 sys_syslog 系统调用
我们可以通过执行 dmesg 命令来输出 ring buffer 中的内容. 或者通过 klogd(Kernel Log Daemon) 从 /proc/kmsg(若没有挂载/proc则会调用sys_syslog系统API) 来读取 ring buffer 中的日志消息,并将之发送到 syslogd 或者 输出到终端上。

在这里插入图片描述

1、通过proc 查看系统设置,printk打印等级,
在这里插入图片描述
2、tracefs
kernel 运行时报panic,死机,大概可以看出是vblk磁盘相关的操作引起的,
在这里插入图片描述
使用tracefs,加些调试信息,可以知道是什么任务,谁调用,出了什么问题
cat /sys/kernel/debug/tracing/trace

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值