Comment affichez vous vos trace pour debugger?
Bonjour,
Lorsque je code; j'ai plus ou moins trois mode:
debug
release + trace (pour debugger la release :) )
release (pour clients - la plus legere possible)
Du coup dans le code (qui n'est pas tout de moi), je me trouve parfois avec:
methode 1
Code:
1 2 3 4
|
#ifdef __TRACE
affiche( "Message pour debugger" )
#endif |
methode 2
Code:
1 2 3 4 5 6 7 8 9
|
#ifdef __TRACE
#define affiche( x ) affiche(x)
#else
#define affiche( x )
#endif
// et dans le code
affiche ( "Message pour debugger" ) |
methode 3
Code:
1 2 3 4 5 6 7 8 9 10 11
|
class trace{
#ifdef __TRACE
inline affiche(x) {affiche(x); };
#else
inline affiche(x) { };
#endif
}
// Et dans mon code
pTrace->affiche( "Message pour debugger" ); |
Je trouve les deux premières methodes lourdes et je prefere la 3eme.
Mais je me demandai, ma fonction affiche() utilise plus de parametre que dans l'exemple, du coup meme si je compile en release sans __TRACE, est-ce que la pile de paramètre ne va pas être intégré dans le code final?
Le simple fait d'utiliser mon pointeur et de faire appel va generer du code, n'est-il pas?
Enfin sinon comment faites vous vous ? :D
Merci