Maison >développement back-end >Tutoriel C#.Net >Petites fonctionnalités que vous ne connaissez pas dans Visual Studio Debugger

Petites fonctionnalités que vous ne connaissez pas dans Visual Studio Debugger

零下一度
零下一度original
2017-07-02 10:26:351594parcourir

Cet article présente principalement en détail sept fonctions peu connues de Visual Studio Debugger, qui ont une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Le débogueur Visual Studio est un excellent débogage. des outils qui peuvent aider les programmeurs à trouver et à résoudre rapidement les problèmes. Voici une brève introduction à sept fonctions peu connues de l'outil de débogage VS.

1. Accédez à une instruction spécifiée en un seul clic

Pendant le débogage, vous devez souvent faire glisser la flèche jaune pour qu'une instruction spécifique s'exécute ou ne s'exécute pas. La méthode conventionnelle consiste à utiliser la souris pour faire glisser directement.

Dans la version préliminaire de Visual Studio 2017 15.3, il existe un moyen plus simple d'accéder à la ligne cible : placez le pointeur de la souris sur la ligne cible, lorsque l'icône de flèche droite de la ligne verticale verte apparaît, maintenez la touche CTRL enfoncée. et cliquez sur le bouton gauche de la souris. Cliquez sur le bouton pour déplacer la flèche jaune de débogage, puis cliquez sur Débogage suivant ou F5 pour exécuter directement sur la ligne spécifiée.

2. Ajoutez un point d'arrêt pour la valeur d'instance spécifiée

Parfois, la valeur de l'attribut d'une instance changera de manière inexplicable. Lorsque nous aurons besoin de savoir pourquoi elle change, nous ajouterons un point d'arrêt dans le code de l'attribut, mais cela prendra effet sur toutes les instances.

Lors du débogage, vous pouvez utiliser les fonctions Make Object ID et Conditional Breakpoint pour ajouter des points d'arrêt pour les instances spécifiées, comme suit :

J'ai d'abord défini une classe, et initialisé deux objets , a modifié la valeur de PointX et a souhaité ajouter un point d'arrêt de modification de la valeur PointX de l'instance a

Pendant le processus de débogage, à droite -cliquez sur l'instance a et sélectionnez Créer un ID d'objet

À ce stade, l'instance a est affectée à $1. Cliquez avec le bouton droit sur le point d'arrêt à ajouter et sélectionnez Conditions. .

Après avoir ajouté $1 == ce code, puis exécuté le programme, le point d'arrêt prendra effet lorsque les propriétés de l'instance changeront, mais ne prendra pas effet lorsque le les propriétés de l’instance b changent.

Notez que Make Object ID enregistre l'adresse de l'objet en mémoire. Elle changera la prochaine fois que vous déboguerez et devra être réinitialisée.

3. Rattacher le processus

Attach to Process est une fonction que tout le monde doit souvent utiliser. Il existe une nouvelle option dans Visual Studio 2017 appelée Reattach to Process, qui. peut être pratique. Chacun se rattache au processus auquel il était attaché en dernier lieu.

Connectez-vous d'abord à un processus, cliquez sur Arrêter le débogage, puis cliquez sur Déboguer pour voir l'option Réattacher au processus à l'intérieur.

4. Afficher tous les fils de discussion

Pendant le processus de débogage, il existe une nouvelle option dans la barre d'outils de débogage appelée : Afficher les fils de discussion. dans Sources. Après avoir cliqué, une icône s'affichera devant la ligne de code où le thread est arrêté. Lorsque la souris reste sur l'icône, le thread sera affiché avec le bouton droit de la souris pour afficher les opérations disponibles.

Notez que cette fonction peut affecter l'efficacité du débogage. Il est recommandé de la désactiver par défaut si elle n'est pas nécessaire.

5. Désactiver temporairement les points d'arrêt spécifiés

Lors de l'exécution d'un débogage multithread, vous pouvez utiliser la fonction Désactiver le point d'arrêt pour désactiver temporairement les points d'arrêt spécifiés afin d'empêcher d'autresLe thread est interrompu en raison d'un point d'arrêt, ce qui affecte le travail de débogage du thread actuel.

6. Afficher les piles d'appels de tous les threads

Pendant le débogage, dans Command Entrez "Debug.ListCallStack -AllThreads" dans Window pour voir les piles d'appels de tous les threads.

Vous pouvez également utiliser la commande WinDBG "~*k" :

7. effets lorsqu'il est utilisé Évaluation de la méthode

Parfois, vous devrez peut-être afficher la valeur de retour d'une méthode dans la fenêtre de surveillance de débogage, mais cela peut avoir des effets négatifs lorsque la méthode est réellement exécutée. Ici, vous pouvez ajouter ", nse" lors de la saisie dans la fenêtre de surveillance pour éviter. effets négatifs. C’est l’abréviation de « No Side Effects ». L'exemple est le suivant :

Add a été exécuté six fois au début, donc le nombre total de testList est de 6,

Maintenant, si vous souhaitez Pour afficher la valeur de retour de l'exécution actuelle d'Add, vous pouvez saisir Add(1) dans la fenêtre Watch, mais cela aura un impact négatif, en changeant la valeur de testList en 7,

Par conséquent, si vous ne souhaitez pas affecter la valeur d'origine de testList, vous devez ajouter On ", nse", l'affichage suivant est 8, mais la valeur d'origine de testList n'a pas changé et est toujours 7 :

L'introduction se termine ici. Avez-vous des petites fonctions de débogage que vous aimez ? Bienvenue Venez commenter~

PS : Ceci n'est qu'une introduction, ne commentez pas si tu n'aimes pas ça.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn