Partager via


Comment : effectuer un pas à pas détaillé dans Uniquement mon code

Cette rubrique s'applique à :

Édition

Visual Basic

C#

F#

C++

Web Developer

Express

La rubrique s'applique La rubrique s'applique

La rubrique s'applique

Managé uniquement

La rubrique s'applique

Pro, Premium et Ultimate

La rubrique s'applique La rubrique s'applique

La rubrique s'applique

Managé uniquement

La rubrique s'applique

Parfois, en cours de débogage, vous pouvez être amené à examiner uniquement le code que vous avez écrit et ignorer les autres éléments de code, par exemple les appels système. C'est précisément ce que permet de faire le mode de débogage Uniquement mon code. Uniquement mon code masque le code non-utilisateur pour l'empêcher d'apparaître dans les fenêtres du débogueur. Lorsque vous parcourez le code, le débogueur parcourt le code de non-utilisateur sans s'y arrêter.

Pour distinguer le code utilisateur du code non-utilisateur, l'option Uniquement mon code examine trois choses : les Fichiers DBG, les fichiers PDB et l'optimisation.

Dans une version debug standard, l'optimisation est désactivée et des symboles de débogage sont créés pour tous les modules. Lorsque vous exécutez une version Debug, ces modules sont considérés comme du code utilisateur. Toutefois, en cas d'appel d'une fonction de la bibliothèque qui est optimisée et n'a pas de symboles de débogage, il ne s'agit pas de code utilisateur. L'option Uniquement mon code empêche que l'exécution ne s'arrête à des points d'arrêt dans le code de bibliothèque, qui ne correspond généralement pas à du code que vous souhaitez déboguer. Dans la fenêtre Points d'arrêt, ces points d'arrêt s'affichent avec l'icône de point d'arrêt désactivé.

Pour consulter l'intégralité du code et vous arrêter à tous les points d'arrêt, vous pouvez désactiver le débogage Uniquement mon code à l'aide de la boîte de dialogue Options.

Trois attributs affectent également ce que le débogueur considère comme Mon code : DebuggerNonUserCodeAttribute indique au débogueur que le code auquel il s'applique n'est pas Mon code. DebuggerHiddenAttribute masque le code au débogueur, même si l'option Uniquement mon code est désactivée. DebuggerStepThroughAttribute indique au débogueur de passer pas à pas dans le code auquel il s'applique, plutôt que d'effectuer un pas à pas détaillé du code.

Lorsque l'option Uniquement mon code est activée, il est possible de choisir dans le menu Déboguer l'option Arrêter afin d'arrêter l'exécution à un emplacement où il n'y a aucun code m'appartenant (Mon code). Lorsque cela se produit, aucun code n'est affiché. En outre, si vous choisissez une commande Exécuter pas à pas, vous passez à la ligne suivante de Mon code.

Les instructions break par programmation, par exemple les instructions Stop en Visual Basic, sont gérées différemment. Le débogueur s'arrête toujours sur ces instructions, même lorsque l'option Uniquement mon code est activée. Dans cette situation, le code non-utilisateur est affiché au lieu d'être masqué ; toutefois, l'exécution pas à pas vous fera passer du code non-utilisateur à la ligne suivante de Mon code.

Notes

Uniquement mon code n'est pas pris en charge pour les projets Smart Device.

Pour activer ou désactiver le débogage de l'option Uniquement mon code

  1. Dans le menu Outils, choisissez Options.

  2. Dans la boîte de dialogue Options, ouvrez le nœud Débogage, puis choisissez Général.

  3. Activez ou désactivez l'option Activer Uniquement mon code.

Voir aussi

Référence

DebuggerNonUserCodeAttribute

DebuggerHiddenAttribute

DebuggerStepThroughAttribute

Concepts

Contrôle de l'exécution