内核打印杂谈

内核打印基本规则

dev_info(): 启动过程、或者模块加载过程等“通知类的”信息等,一般只会通知一次,例如probe函数;
dev_dbg(): 一般使用在普通错误,如-EINVAL、-ENOMEM等errno发生处,用于调试;
dev_err(): 一般使用在严重错误,尤其是用户无法得到errno的地方,或者程序员不容易猜测系统哪里出了问题的地方;


打印dev_dbg

A) dynamic_debug

CONFIG_DYNAMIC_DEBUG=y & CONFIG_DEBUG_FS=y

mkdir debugfs

mount -t debugfs none */debugfs

cat /mnt/dbg/dynamic_debug/control 
 [ping]ping_rcv =_ "no socket, dropping\012" 不会打印
 [ping]ping_rcv =p "rcv on socket %p\012" 则会打印

函数dynamic debug
echo -n 'func xxx +p' > */debugfs/dynamic_debug/control
echo -n 'func xxx -p' > */debugfs/dynamic_debug/control

文件dynamic debug
echo -n 'file alicert.c +p' > */debugfs/dynamic_debug/control 
echo -n 'file alicert.c -p' > */debugfs/dynamic_debug/control
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值