Comment : définir l'instruction suivante
Mise à jour : novembre 2007
Cette rubrique s'applique à :
Édition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
Standard |
||||
Pro et Team |
Légende du tableau :
Applicable |
|
Non applicable |
|
Commande ou commandes masquées par défaut. |
Cette fonctionnalité n'est pas disponible pour le débogage T-SQL.
Dans le débogueur Visual Studio, il est possible de déplacer le point d'exécution pour désigner l'instruction suivante à exécuter. Dans la marge d'une fenêtre source ou Code Machine, une flèche jaune marque l'emplacement de la prochaine instruction à exécuter. Déplacer cette flèche permet d'ignorer une partie du code ou de revenir à une ligne déjà exécutée. Vous pouvez utiliser cette fonctionnalité, par exemple, pour ignorer une section de code qui contient un bogue connu.
Avertissement Le fait de définir l'instruction suivante fait en sorte que le compteur du programme accède directement au nouvel emplacement. Utilisez cette commande avec précaution :
Les instructions entre les nouveaux et les anciens points d'exécution ne sont pas exécutées.
Si vous déplacez le point d'exécution vers l'arrière, les instructions déjà traitées ne sont pas annulées.
Le déplacement de l'instruction suivante vers une autre fonction ou portée entraîne généralement une altération de la pile des appels, provoquant une erreur ou exception d'exécution. Si vous tentez de déplacer l'instruction suivante vers une autre portée, le débogueur ouvre une boîte de dialogue avec un avertissement et vous donne une occasion d'annuler l'opération. En Visual Basic, vous ne pouvez pas déplacer l'instruction suivante à une autre portée ou fonction.
En C++ natif, si les contrôles d'exécution sont activés, la définition de l'instruction suivante peut provoquer la levée d'une exception lorsque l'exécution atteint la fin de la méthode.
Lorsque Modifier & Continuer est activé, la définition de l'instruction suivante échoue si vous avez apporté des modifications qui ne peuvent pas être remappées immédiatement par Modifier & Continuer. Par exemple, cela peut se produire si vous avez modifié le code contenu dans un bloc catch. Dans ce cas, un message d'erreur se présentant comme suit s'affiche : "Unable to set the next statement to this location. Operation not supported. Unknown error:numéro d'erreur"
Remarque En code managé, vous ne pouvez pas déplacer l'instruction suivante dans les conditions suivantes :
L'instruction suivante se trouve dans une méthode différente de celle de l'instruction actuelle.
Le débogage a été démarré via le débogage juste-à-temps.
Le déroulement d'une pile des appels est en cours.
Une exception System.StackOverflowException ou System.Threading.ThreadAbortException a été levée.
Il est impossible de définir l'instruction suivante lorsque l'application est active. Pour définir l'instruction suivante, le débogueur doit être en mode arrêt. Pour plus d'informations, consultez Interruption de l'exécution.
Remarque : |
---|
Les boîtes de dialogue et les commandes de menu qui s'affichent peuvent être différentes de celles qui sont décrites dans l'aide, en fonction de vos paramètres actifs ou de l'édition utilisée. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils. Pour plus d'informations, consultez Paramètres Visual Studio. |
Pour définir l'instruction suivante à exécuter
Dans une fenêtre source, cliquez sur la flèche jaune et faites-la glisser vers l'emplacement de l'instruction à exécuter ensuite (dans le même fichier source).
Dans une fenêtre source, cliquez avec le bouton droit sur l'instruction que vous souhaitez exécuter ensuite et choisissez Définir l'instruction suivante dans le menu contextuel.
Dans une fenêtre Code machine, cliquez avec le bouton droit sur l'instruction en langage assembleur que vous souhaitez exécuter ensuite et choisissez Définir l'instruction suivante dans le menu contextuel.