Linux-kernel debug printouts?

前端 未结 2 1310
陌清茗
陌清茗 2020-12-30 06:17

Is there a better way to debug printouts in the Linux kernel?

Right now littering the code with:

printk(KERN_DBG \"%s:%d - %s() \", __         


        
相关标签:
2条回答
  • 2020-12-30 06:57

    If this is for quick debugging, just printk() works well.

    If this is for debugging in more production situation, maybe use pr_debug(), so messages can be enabled at runtime.

    Regardless, ("%s: xxx", func) is usually enough. These filenames and line numbers will become annoying very soon. This is also why you haven't found any "standard" solution -- because there is none.

    0 讨论(0)
  • 2020-12-30 07:12

    Use

    /* At the top of the file, before any includes */
    #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
    
    #include <linux/printk.h>
    
    /* in code... */
    pr_devel("foobar happened\n");
    

    as a basis (the standard practice). You can then add __FILE__ or __LINE__ to the pr_fmt definition if you need.

    0 讨论(0)
提交回复
热议问题