Comment : définir l'instruction suivante

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 La rubrique s'applique La rubrique s'applique

Pro, Premium et Ultimate

La rubrique s'applique La rubrique s'applique La rubrique s'applique

La rubrique s'applique

La rubrique s'applique

Cette fonctionnalité n'est pas disponible pour le débogage Transact-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. Lorsque cela se produit, un message d'erreur similaire à celui-ci s'affiche : « Impossible de définir l'instruction suivante à cet emplacement. Opération non prise en charge. Erreur inconnue : numéro d'erreur »

Notes

Dans du 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é à l'aide du 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.

Notes

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 Utilisation des paramètres.

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

    - ou -

  • 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 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.

Voir aussi

Concepts

Contrôle de l'exécution