67 votes

Trace vs Debug dans .NET BCL

Il semble que le Système.Diagnostics.Le débogage et le Système.Diagnostics.Trace sont essentiellement les mêmes, à l'exception notable que le Débogage d'utilisation est compilé dans un communiqué de configuration. Quand voulez-vous utiliser l'un et pas l'autre? La seule réponse à ce que j'ai creusé jusqu'à présent est juste que vous utilisez la classe Debug pour générer la sortie que vous ne voyez en configuration debug et Trace restera dans un communiqué de configuration, mais ce n'est pas vraiment répondre à la question dans ma tête.

Si vous allez à l'instrument de votre code, pourquoi voudriez-vous jamais utiliser de Débogage, car la Trace peut être éteint sans recompiler?

71voto

Jared Points 1162

La principale différence est que l'un de vous indiquer: Debug n'est pas inclus dans la version, tandis que la Trace est.

Le but de différence, ce que je comprends, c'est que les équipes de développement peuvent utiliser Debug pour émettre des riches, descriptif des messages qui pourraient s'avérer trop détaillée (ou révéler) pour le consommateur(s) d'un produit, tandis que la Trace est destiné à émettre les types de messages qui sont plus spécifiquement orientées vers instrumentant d'une application.

Pour répondre à votre dernière question, je ne peux pas penser à une raison pour utiliser Debug pour instrument un morceau de code que j'ai prévu pour libérer.

Espérons que cette aide.

5voto

Raj Points 41

Le débogage est utilisé pour pure debugging,il émet riche de message dans le debug d'exécution ( mode Debug) Trace aide au débogage de l'application,la correction de bug et de profilage (Après la Libération).

Classe Debug est pas de l'utiliser en mode release.

5voto

sandy101 Points 790

La seule différence entre la trace et le débogage est que l'instruction trace sont inclus par défaut dans le programme quand il est compilé dans un communiqué de construire, alors que l'instruction de débogage ne sont pas. Ainsi , la classe debug est principalement utilisé pour le débogage dans la phase de développement ,tandis que la trace peut être utilisé pour l'optimisation et le test après que l'application est compilée et publiée

2voto

Kevin Dente Points 7732

Très sensible aux performances des blocs de code, en laissant de Trace compilés mais désactivé pourrait faire une différence de performances.

1voto

Michael Burr Points 181287

Je regarderais à l'aide de log4net de traçage comme c'est les fonctionnalités sont beaucoup plus flexibles et robustes.

Mais pour les vrais messages de débogage que je n'ai jamais l'intention de quelqu'un d'autre que moi ou un interne testeur pour voir, je serais probablement le bâton avec Debug.

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