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.
Dans le menu Déboguer, choisissez Options et paramètres.
Dans la boîte de dialogue Options, sélectionnez la catégorie Modifier & Continuer.
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.
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.
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.
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.
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.
Dans cet article