Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans ce guide de démarrage rapide, vous allez découvrir comment utiliser le débogueur Visual Studio pour déboguer votre code C++ natif. Cet article fournit un moyen rapide d’apprendre quelques-unes des fonctionnalités de base pour travailler dans le débogueur.
Si vous n'avez pas Visual Studio, vous pouvez installer la version d'évaluation free version à partir de la page téléchargements Visual Studio.
Créer un projet
Commencez par créer un nouveau projet afin d’avoir du code à examiner avec le débogueur.
Ouvrez Visual Studio et créez un projet.
Si la fenêtre de démarrage n’est pas ouverte, sélectionnez Fichier>Fenêtre de démarrage.
Dans la fenêtre de démarrage, sélectionnez Créer un projet.
Dans la fenêtre Créer un projet , définissez les filtres et recherchez un modèle de projet.
Dans la zone Rechercher des modèles , entrez vide.
Développez la liste déroulante Langue et sélectionnez C++.
Dans la liste des résultats, sélectionnez le modèle Empty Project pour C++, puis sélectionnez Next.
Si vous ne voyez pas le modèle Empty Project pour C++, sélectionnez l'option Continue sans code.
Sélectionnez Tools>Get Tools and Features... , qui ouvre le programme d’installation Visual Studio.
Dans la fenêtre Programme d’installation, cochez la case pour le développement Desktop avec la charge de travail C++ , puis sélectionnez Modifier.
Votre installation de Visual Studio se met à jour pour inclure la charge de travail C++ sélectionnée.
Une fois la mise à jour terminée, sélectionnezFenêtre de démarrage du > et suivez les instructions précédentes pour sélectionner le modèle requis.
Configurez le nouveau projet :
Entrez un nom Project et Solution ou utilisez les valeurs par défaut.
Utilisez l’emplacement par défaut ou sélectionnez Parcourir (...) pour créer le projet dans un autre dossier.
Cliquez sur Créer.
Visual Studio crée votre projet et ajoute les fichiers projet dans le dossier spécifié.
Ajouter un fichier projet
Ajoutez un fichier de code pour que vous ayez du contenu à tester dans le débogueur.
Dans le volet Explorateur de solutions, Cliquez avec le bouton droit sur votre <project-name> et sélectionnez Add>New Item.
Si vous ne voyez pas le volet Explorateur de solutions, sélectionnez View>Explorateur de solutions.
Dans la boîte de dialogue Ajouter un nouvel élément , entrez le nom de fichier MyDbgApp.cpp, puis sélectionnez Ajouter.
Le fichier s’ouvre dans l’éditeur de code.
Ajoutez le code suivant au nouveau fichier.
#include <list> #include <iostream> using namespace std; void doWork() { list <int> c1; c1.push_back(10); c1.push_back(20); const list <int> c2 = c1; const int &i = c2.front(); const int &j = c2.front(); cout << "The first element is " << i << endl; cout << "The second element is " << j << endl; } int main() { doWork(); }Enregistrez les modifications apportées à votre fichier avec le raccourci clavier Ctrl+S .
Définir un point d’arrêt
Un point d’arrêt est un marqueur qui indique où Visual Studio doit interrompre l’exécution de votre code. Lorsqu’un point d’arrêt est défini, vous pouvez examiner les valeurs actuelles des variables, examiner le comportement de la mémoire et vérifier si une branche spécifique de code est en cours d’exécution. Les points d’arrêt sont la fonctionnalité la plus simple du débogage.
Pour placer un point d’arrêt, repérez l’appel à
doWork()dans le code, puis sélectionnez la marge de gauche sur la même ligne.Lorsque le point d’arrêt est défini, un point rouge s’affiche dans la barre gauche de la ligne correspondante dans le code.
Démarrez le débogage à l’aide du raccourci clavier F5 (ou sélectionnez Démarrer> ledébogage).
L’exécution du code s’interrompt immédiatement avant l’appel à la
doWork()fonction.Le débogueur s'interrompt à l'endroit où vous avez défini le point d'arrêt. Une flèche jaune identifie l’instruction où le débogueur interrompt l’exécution de l’application.
Conseil / Astuce
Lorsque vous déboguez des défaillances liées à la mémoire dans votre code C++, vous pouvez également utiliser des points d’arrêt pour inspecter les valeurs des adresses (voir
NULL) et les compteurs de références.
Définir des points d’arrêt conditionnels
Si vous définissez un point d’arrêt dans une boucle ou une récursivité, ou si vous avez de nombreux points d’arrêt que vous parcourez fréquemment, utilisez un point d’arrêt conditionnel.
Cette approche permet de s’assurer que votre code est suspendu uniquement lorsque des conditions spécifiques sont remplies. Un point d’arrêt conditionnel peut gagner du temps et faciliter le débogage des problèmes difficiles à reproduire.
Parcourir votre code
Visual Studio fournit plusieurs façons différentes d’indiquer au débogueur de poursuivre l’exécution de l’application. L’exemple suivant montre une commande utile pour parcourir votre code.
Pendant que le code est suspendu au point d’arrêt, pointez sur l’instruction c1.push_back(20) jusqu’à ce que vous voyiez l’icône Exécuter verte pour cliquer (Exécuter l’exécution ici).
Sélectionnez l’icône.
Pendant que le code est suspendu au point d’arrêt, pointez sur l’instruction c1.AddLast(20) jusqu’à ce que vous voyiez l’icône Exécuter verte pour cliquer (Exécuter l’exécution ici).
Sélectionnez l’icône.
L’application poursuit son exécution, appelle doWork et s’interrompt à la ligne de code où vous avez sélectionné Exécuter jusqu’au clic.
Les commandes clavier courantes utilisées pour parcourir le code incluent F10 et F11. Pour obtenir des instructions plus détaillées, consultez Overview du débogueur Visual Studio.
Inspecter les variables dans une infobulle
Vous pouvez inspecter l’état de vos variables à l’aide de la fonctionnalité de conseil de données .
Dans la ligne de code actuelle (marquée par le pointeur d’exécution jaune), pointez sur l’objet
c1pour voir l’info-bulle de données.
L'info-bulle vous montre la valeur actuelle de la variable
c1et vous permet d'inspecter ses propriétés.Lorsque vous déboguez, si vous voyez une valeur inattendue pour une variable, vous avez probablement un bogue. Le bogue peut se trouver dans le code qui effectue l’appel à la variable ou dans la ligne précédente.
Développez l'info-bulle pour examiner les valeurs de propriété actuelles de l'objet
c1.Pour continuer à surveiller la valeur de
c1pendant l’exécution du code, sélectionnez l’icône en forme d’épingle
sur l’info-bulle.L’action Épingler maintient l’infobulle de données ouverte. Lorsque le code s’exécute, la valeur de l’infobulle épinglée change pour afficher l’état actuel de l’objet surveillé.
Vous pouvez déplacer l’info-bulle épinglée vers n’importe quel emplacement de l’IDE. Il n’empêche donc pas d’observer d’autres éléments lors du débogage.
Activer le rechargement à chaud lors du débogage
Pendant le débogage, si vous voyez une modification que vous souhaitez tester dans votre code, vous pouvez utiliser la fonctionnalité Rechargement à chaud (précédemment appelée Edit et Continuer).
Sélectionnez la deuxième instance de l’instruction
c2.front(), puis remplacez le codec2.back()par .Sélectionnez F10 plusieurs fois (ou sélectionnez Déboguer>pas à pas plusieurs fois) pour avancer le débogueur et exécuter le code modifié.
F10 fait avancer le débogueur d’une instruction à la fois, mais il effectue un pas à pas principal sur les fonctions au lieu d’un pas à pas détaillé (le code que vous ignorez s’exécute tout de même).
Pour plus d’informations sur la fonctionnalité et les limitations, consultez Configure Rechargement à chaud.