J'essaie d'entrer dans le système J'ai lu à ce sujet dans MSDN et je ne comprends pas les avantages de l'utilisation de cette bibliothèque. J'ai essayé de chercher sur Internet mais je suis confondu par ce que j'ai vu avec des mots et des phrases que je ne comprends pas comme (trace, débogage de contrôle). P>
Et il y a une classe de base nommée Y a-t-il un site web que je puisse apprendre de l'espace de diagnostic code> code> p> . Diagnostics Code> Espace de noms et apprentissage à ce sujet, mais la première classe que j'essaie d'apprendre est
Booleanswitch Code>. P>
commutateur code> quel
booleanswitch code> hérite de et d'une autre classe dans cet espace de noms. P>
3 Réponses :
La question indique "j'ai lu à ce sujet dans MSDN" qui fournirait ce même texte que vous citez ici. Il dit également qu'ils ne comprennent pas les termes tels que "Trace" et "Débogage de contrôle". Il semble que ce qui est nécessaire, c'est une explication de cette documentation, pas une répétition de cela.
L'OP a mentionné qu'ils ont déjà lu la documentation. Donc, imo, simplement citant une partie de celui-ci est peu susceptible de les aider.
J'ai lu à ce sujet dans MSDN et je ne comprends pas ce que les avantages de l'utilisation de cette bibliothèque sont vraiment. P> blockQuote>
Les avantages de l'utilisation de cette bibliothèque sont facilement disponibles des outils de diagnostic. C'est définitivement une bibliothèque qui mérite d'être utilisée si vous cherchez à faire du débogage avec .NET. P>
système.diagnostics.eventlog p>
Ce composant fournit des fonctionnalités à écrire aux journaux d'événements, à lire les entrées de journal des événements et à créer et supprimer des journaux d'événements et des sources d'événements sur le réseau. P>
système.diagnostics.trace p>
Instrumentation vous permet de surveiller la santé de votre application en cours d'exécution dans des paramètres de vie réelle. P>
System.Diagnostics.stactTrace & System.Diagnostics.Stackframe p>
Ces classes exposeront les informations de pile sur les routines. Exemple suivant retournera le nom de la méthode d'appel. P>
système.diagnostics.debug p>
fournit un ensemble de méthodes et de propriétés qui aident à déboguer votre code. Cette classe ne peut pas être héritée. Nous sommes tous habitués à cette classe. Voici les méthodes importantes de cette classe. P>
système.diagnostics.debug.writeline <<< Celui-ci est grand p> blockQuote>
Vous pouvez écrire aux journaux de diagnostic, faire des traces. Celles-ci sont extrêmement importantes pour des projets complexes. Je dirais pour des projets plus simples, cela pourrait être un peu trop exclu, mais c'est certainement quelque chose que vous voulez vous familiariser de toute façon. P>
Presque toutes les bibliothèques vont être utiles dans un contexte. Les bibliothèques sont des travaux prédisés et les plus pertinents que vous comprenez, moins vous aurez du travail. Les bibliothèques MSFT sont généralement très bien documentées et conçues. P>
Si vous recherchez un bon guide débutant, ce serait un bon endroit pour commencer. P>
Ceci est vb.net mais l'aperçu général s'applique toujours: https://www.codeproject.com/articles/5358/beginning-system- Diagnostics P>
Je suis d'accord pour dire que souvent les documents du MSFT sont difficiles à comprendre et à mettre en œuvre. P>
Edit: Je viens de remarquer que c'est un lien VB.NET (Yuck) afin qu'il ne soit utile que pour la théorie et apprendre quelles sont les méthodes. P>
Le commutateur booléen choisit simplement de savoir s'il faut ou non un message d'erreur ou non. Cela pourrait être utile dans certaines situations où une exception n'est pas lancée, mais votre code a remarqué une erreur dans les données ou un autre chemin de code a déclenché une situation où vous souhaitez écrire sur le journal de débogage. P>
Je ne pense pas que ce soit aussi utile que l'espace de noms général. Cela pourrait être utile dans certaines situations de niche, mais quel que soit le commutateur; Vous voudrez apprendre cet espace de noms quand même. P>
comme Hexagod dit , la prestation est que c'est une interface standard. P>
Pour adresse Ceci est très similaire à l'utilisation de https://docs.microsoft.com/en-us/dotnet/framework/debug-trace-profile/how-to-create-Initialize-and-configure-trace-switches est un Bit plus descriptif que la documentation pour les classes code> code>. p>
* Je référencie interrupteur code> et
booleanswitch code> spécifiquement, ils sont un moyen de définir une valeur de configuration nommée que vous pouvez définir avec le fichier .config de l'application.
Vous pouvez avoir
system.diagnostic.trace.writnetif () code> * appelle (ou similaire) conditionnel sur un tel drapeau afin de ne pas normalement rien faire, mais peut être "allumé" en modifiant le fichier de configuration . (Donc, toutes les fonctionnalités de diagnostic seront présentes dans l'exécutable libéré mais inactive, sauf si vous en avez besoin.) P>
Propriétés.Settings code> dans le même but (fichier .config en action), sauf que vous définissez les propriétés possibles différemment et ils vont dans une section différente - < code>
propriétés.Settings.default.save () code> pour ceux-ci). p>
system.diagnostic.trace code> au lieu de
system.diagnostic.debug code> ici parce que je pense que c'est mieux dans le but. Ils sont surtout les mêmes sauf les appels aux méthodes de
Débogou code> seront supprimés lorsque vous compilez un exécutable de libération pendant que des appels vers des méthodes de
Trace CODE> seront laissées dans le but Ne faites rien sauf si vous vous configuriez où écrire dans le fichier .config. p>
docs.microsoft.com/en-us/dotnet/api/ System.Diagnostics.switc H est la classe de base abstraite pour les autres commutateurs. Et la première ligne de Booleanswitch est la suivante: "Fournit un simple commutateur marche / arrêt qui contrôle le débogage et la sortie de traçage."
Il n'est pas clair si vous posez des questions sur le
System.Diagnostics.switch code> classe ou l'ensemble du système
System.Diagnostics code> Espace de noms / montage; Le titre de la question suggère l'ancien mais des parties du corps suggèrent ce dernier. En outre, pourquoi avez-vous décidé de commencer avec la classe code> code>? Si vous ne comprenez pas ce que c'est pour alors comment savez-vous que vous devez utiliser / l'apprendre? Qu'est-ce que tu es vraiment i> essayer de faire?
Mécaniquement, ces classes semblent faire peu plus encore puis mettre une enveloppe de référence autour d'un bool. Cette classe et ce sont des suivi de suivi dans le standard et le cadre d'origine avec 1,0 chacun. Un bon nombre de classes ajoutées à l'époque ont été remplacées depuis lors. En effet, jetez un coup d'œil à toutes les collections non génériques qui sont toujours autour: github.com/dotnet/platform-compat/blob/master/docs/de0006.md