打印方法集锦: 将当前函数名、line number打印出来 同时将打印字符设置为蓝色 printk("\033[0;34m function and line [%s][%d] \033[0m\n",__FUNCTION__,__LINE__);
打印当前时间 printk("\033[0;34m Date and time is [%s][%s] \033[0m\n",__DATE__,__TIME__);
打印函数指针所指向的函数名: %p:打印裸指针(raw pointer) %pF可打印函数指针的函数名和偏移地址 %pf只打印函数指针的函数名,不打印偏移地址。 如 printk("%pf",func[0]->action); 结果:
打印MAC地址 %pM打印冒号分隔的MAC地址 %pm打印MAC地址的16进制无分隔 如 printk("%pM %pm\n", mac, mac) willprint: 2c:00:1d:00:1b:00 2c001d001b00
打印IP地址: %I4打印无前导0的IPv4地址,%i4打印冒号分隔的IPv4地址 %I6打印无前导0的IPv6地址,%i6打印冒号分隔的IPv6地址 如 printk("%pI4 %pi4\n", ip, ip) will print: 127.0.0.1 127:0:0:1
其它的特殊格式字符参见 http://lxr.Linux.no/#linux+v2.6.34/lib/vsprintf.C#L930
linux下还可以通过backtrace、backtrace_symbols、backtrace_symbols_fd这样的函数,结合-rdynamic
|