181 votes

Utilisation de __FILE__, __LINE__ et __FUNCTION__ en C++.

En supposant que votre compilateur C++ les supporte, y a-t-il une raison particulière pas à utiliser __FILE__ , __LINE__ y __FUNCTION__ à des fins de journalisation et de débogage ?

Je suis surtout préoccupé par le fait de donner à l'utilisateur des données trompeuses - par exemple, signaler le mauvais numéro de ligne ou la mauvaise fonction à la suite de l'optimisation - ou de subir une baisse de performance en conséquence.

En gros, est-ce que je peux faire confiance __FILE__ , __LINE__ y __FUNCTION__ a toujours faire ce qu'il faut ?

0 votes

LIGNE devrait faire ce qu'il faut. Je l'ai largement utilisé, ainsi que ses cohortes, notamment pour JOLIE_FONCTION . ... Mais ... eh bien, je suis juste en train de regarder un code où LIGNE mensonges. Probablement parce qu'il se trouve dans un bloc catch pour la gestion des exceptions try/catch.

4 votes

4voto

JeffC Points 431

Je les utilise tout le temps. La seule chose qui m'inquiète, c'est de donner l'adresse IP dans les fichiers journaux. Si vos noms de fonctions sont vraiment bons, vous pourriez rendre un secret commercial plus facile à découvrir. C'est un peu comme l'expédition avec des symboles de débogage, mais les choses sont plus difficiles à trouver. Dans 99,999 % des cas, il n'y a rien de mal à cela.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X