Je veux comprendre s'il existe un moyen d'imprimer des déclarations de débogage pour une méthode particulière dans le programme C. P>
Par exemple: P>
dire que j'ai une fonction principale qui appelle d'autres fonctions abc () code>,
def () code> et
xyz () code>. Chacune de ces méthodes a quelques déclarations d'impression pour le but de journalisation du débogage. Si je active la macro de débogage actuellement tous les messages de débogage des fonctions sont imprimés, Ehich crée un fichier journal important. Dis que j'ai eu un problème dans la fonction xyz () et je veux juste allumer les relevés de débogage de cette fonction, comment je peux y parvenir dans C? P>
3 Réponses :
Pour une solution très simple, vous pourrez peut-être le faire avec une compilation conditionnelle et nommer vos macros différemment en fonction de ce qu'ils seront utilisés pour (ou de).
Par exemple, vous pourriez avoir quelque chose comme (pseudo- Code): p> Ajoutez quelque chose de similaire pour le Pour activer la journalisation uniquement de la fonction avec ça Dit, si vous voulez un contrôle plus avancé et éventuellement en capable de modifier de telles choses à Rtun-Time, je vous recommande vraiment d'essayer de trouver une bibliothèque troisième partie qui peut le faire pour vous. P> P> def code> et
xyz code> fonctions. p>
abc code>, définissez uniquement
activer_log_abc code> mais pas d'autre lors de la construction. Pour activer
abc code> et
xyz code> puis définissez les deux
activer_log_abc code> et
activer_log_xyz code>. P>
Une solution sans macros mais nécessitant une codage C et utiliser une variable d'environnement qui évite de recompiler: exécution: p>
C'est ce que j'aime faire: changer simplement le log_abc / log_def / log_xyz pour permettre la désactivation de la journalisation de chaque fonction. P> Infact dans mes propres projets J'utilise une variation de cela. Je passe aussi Plus important encore, au lieu d'utiliser le nom de la fonction, je définis les catégories de journal et la gravité du journal. Donc, ma journalisation ressemble à ceci: p> et je peux activer et désactiver des catégories individuelles, et spécifier également la gravité minimale. p> p> __ fichier __ code> et
__ ligne __ code> de sorte que l'enregistreur puisse me montrer le fichier et le numéro de ligne du message du journal - facilite le débogage. P>
Créez différents macrocs pour chaque fonction
#define débog_abc #define debug_def #define debug_xyz code>