分享

linux C 打印方法集锦

 jiffes 2017-01-10



打印方法集锦:

将当前函数名、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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多