1.printk:
打印调试信息,类似于printf,最后在终端通过dmsg打印出来消息流。
printk打印等级规则:
#define KERN_EMERG"<0>" /*紧急事件消息,系统崩溃之前提示,表示系统不可用*/
#define KERN_ALERT"<1>" /*报告消息,表示必须立即采取措施*/
#define KERN_CRIT"<2>" /*临界条件,通常涉及严重的硬件或软件操作失败*/
#define KERN_ERR"<3>" /*错误,报告硬件的错误*/
#define KERN_WARNING"<4>" /*警告条件,对可能出现问题的情况进行警告*/
#define KERN_NOTICE"<5>" /*用于提醒。常用于与安全相关的消息*/
#define KERN_INFO"<6>" /*提示信息,如驱动程序启动时,打印硬件信息*/
#define KERN_DEBUG"<7>" /*调试级别的消息*/
2.dump_stack:
打印调用栈输出到屏幕or串口里,需要包含头文件
#include <linux/kprobes.h>
#include <asm/traps.h>