Les impressions de débogage du kernel Linux?

Existe-t-il un meilleur moyen de déboguer les impressions dans le kernel Linux?

En ce moment, jonchent le code avec:

printk(KERN_DBG "%s:%d - %s() ", __FILE__, __LINE__, __FUNCTION__ ); 

Ce qui n’est pas très propre.

Il devrait y avoir un moyen pour que toute la ligne soit #ifdef : ed de façon agréable.

    Utilisation

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

    comme base (la pratique standard). Vous pouvez ensuite append __FILE__ ou __LINE__ à la définition de pr_fmt si vous en avez besoin.

    Si c’est pour un débogage rapide, simplement printk () fonctionne bien.

    S’il s’agit d’un débogage dans une situation de production plus importante, utilisez peut-être pr_debug () afin que les messages puissent être activés au moment de l’exécution.

    Quoi qu’il en soit, (“% s: xxx”, func ) est généralement suffisant. Ces noms de fichiers et numéros de lignes vont devenir très ennuyeux très bientôt. C’est aussi la raison pour laquelle vous n’avez trouvé aucune solution “standard” – car il n’y en a pas.