Modifier & Continuer (Visual C++)

Cet article décrit les procédures à utiliser avec Modifier & Continuer dans les projets Visual C++. Voir Limitations et modifications de code prises en charge (C++) pour plus d'informations sur les limitations de Modifier et continuer.

Avertissement

L'option de compilateur /Zo (Améliorer le débogage optimisé) qui a été introduite dans Visual Studio Update 3 ajoute des informations aux fichiers de symboles (.pdb) pour les fichiers binaires compilés sans l'option /Od (Désactiver (Débogage)).

/Zo désactive Modifier & Continuer.Voir Comment : déboguer le code optimisé.

Dans cet article

Activer ou désactiver l'appel automatique à Modifier & Continuer

Comment appliquer des modifications du code explicitement

Comment arrêter des modifications de code

Comment réinitialiser le point d'exécution

Comment utiliser du code périmé

Activer ou désactiver l'appel automatique à Modifier & Continuer

Vous pouvez désactiver l'appel automatique de Modifier & Continuer (appel par les commandes Continuer, Aller à et Exécuter pas à pas). Cela peut être utile si vous apportez des modifications au code, mais ne voulez pas les appliquer pendant la session de débogage en cours. Vous pouvez également réactiver l'appel automatique de Modifier & Continuer.

  1. Dans le menu Déboguer, choisissez Options et paramètres.

  2. Dans la boîte de dialogue Options, sélectionnez la catégorie Modifier & Continuer.

  3. Dans le groupe Modifier & Continuer, activez ou désactivez la case à cocher Appelé par les commandes de débogage.

    Notes

    Vous pouvez également faire en sorte que le débogueur vous interroge avant d'appliquer des modifications de code avant une commande de débogage.Si vous souhaitez qu'il le fasse, activez la case à cocher Me demander d'abord.

Comme Appelé par les commandes de débogage est une option des outils, modifier ce paramètre affecte tous les projets sur lesquels vous travaillez. Après avoir modifié ce paramètre, il n'est pas nécessaire de régénérer l'application. Il est possible de modifier le paramètre même en cours de débogage. Si vous générez l'application à partir de la ligne de commande ou d'un Makefile, mais déboguez dans l'environnement Visual C++, vous pouvez encore utiliser Modifier & Continuer si vous définissez l'option /ZI.

Retour au début Dans cet article

Comment appliquer des modifications du code explicitement

En Visual C++, Modifier & Continuer peut appliquer des modifications de code de deux manières. Les modifications du code peuvent être implicitement appliquées, lorsque vous choisissez une commande d'exécution, ou explicitement, à l'aide de la commande Appliquer les modifications du code.

Lorsque vous appliquez des modifications du code de manière explicite, votre programme reste en mode arrêt - aucune exécution ne se produit.

  • Pour appliquer les modifications du code explicitement, dans le menu Déboguer, choisissez Appliquer les modifications du code.

Retour au début Dans cet article

Comment arrêter des modifications de code

Pendant que Modifier & Continuer est en train d'appliquer les modifications du code, vous pouvez arrêter l'opération.

Pour arrêter d'appliquer les modifications du code :

  • Dans le menu Déboguer, choisissez Cesser d'appliquer les modifications du code.

Cet élément de menu est visible uniquement lorsque les modifications du code sont appliquées.

Si vous choisissez cette option, aucune modification du code n'est validée.

Retour au début Dans cet article

Comment réinitialiser le point d'exécution

Certaines modifications du code peuvent entraîner le déplacement du point d'exécution vers un nouvel emplacement lorsque le mode Modifier & Continuer applique les modifications. Bien que Modifier & Continuer place le point d'exécution aussi précisément que possible, les résultats risquent d'être incorrects dans certains cas.

Dans Visual C++, une boîte de dialogue vous informe du déplacement du point d'exécution. Vérifiez que le nouvel emplacement est correct avant de poursuivre le débogage. S'il ne l'est pas, utilisez la commande Définir l'instruction suivante. Pour plus d'informations, consultez Définir l'instruction suivante à exécuter.

Retour au début Dans cet article

Comment utiliser du code périmé

Dans certains cas, Modifier & Continuer n'applique pas immédiatement les modifications du code au fichier exécutable, mais peut éventuellement les appliquer ultérieurement si vous poursuivez le débogage. Cela arrive si vous modifiez une fonction qui appelle la fonction actuelle ou si vous ajoutez plus de 64 octets de nouvelles variables à une fonction sur la pile des appels.

Dans ces cas, le débogueur continue à exécuter le code d'origine (appelé code périmé) jusqu'à ce que les modifications puissent être appliquées. Le code périmé apparaît comme une fenêtre de fichier source temporaire dans une fenêtre source séparée, avec un titre comme enc25.tmp. La source modifiée continue à apparaître dans la fenêtre source d'origine. Si vous essayez de modifier le code périmé, un message d'avertissement apparaît.

Retour au début Dans cet article

Voir aussi

Référence

Limitations et modifications de code prises en charge (C++)