Comment : effectuer un pas à pas détaillé dans Uniquement mon code
Mise à jour : novembre 2007
Cette rubrique s'applique à :
Édition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
Managé uniquement |
|||
Standard |
Managé uniquement |
|||
Pro et Team |
Managé uniquement |
Légende du tableau :
Applicable |
|
Non applicable |
|
Commande ou commandes masquées par défaut. |
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 ("Mon code") d'un code non-utilisateur, Uniquement mon code vérifie trois éléments : 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 j'exécute une version debug, ces modules sont considérés comme étant Mon code. Mais si j'appelle une fonction bibliothèque optimisée qui ne possède pas de symboles de débogage, ce n'est plus Mon code. L'option Uniquement mon code empêche l'exécution de s'arrêter aux points d'arrêt du code de bibliothèque, lequel n'est généralement pas le code que je souhaite 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 voir tout le code et m'arrêter à tous les points d'arrêt, je peux désactiver Uniquement mon code via 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 du débogueur, même si Uniquement mon code est désactivé. DebuggerStepThroughAttribute indique au débogueur qu'il doit exécuter pas à pas, plutôt qu'en pas à pas détaillé, le code auquel il s'applique.
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 programme, 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.
Remarque : |
---|
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
Dans le menu Outils, choisissez Options.
Dans la boîte de dialogue Options, ouvrez le nœud Débogage, puis choisissez Général.
Activez ou désactivez l'option Activer Uniquement mon code.