Préparation du débogage : types de projet C++
Cette section explique comment déboguer les types de projet de base créés par les modèles de projet Visual C++.
Notez que ces types de projets qui créent des DLL comme sortie ont été regroupés en Débogage de projets DLL en raison des fonctionnalités courantes qu’ils partagent.
Dans cette rubrique
paramètres de propriété recommandés
Paramètres de propriété recommandés
Certaines propriétés doivent être définies de la même façon pour tous les scénarios de débogage non gérés. Les tableaux suivants affichent les paramètres de propriété recommandés. Les paramètres non répertoriés ici peuvent varier entre les différents types de projets non gérés. Pour plus d’informations, consultez Paramètres de projet pour une configuration de débogage C++.
Propriétés de configuration | C/C++ | Nœud d’optimisation
Nom de la propriété | Réglage |
---|---|
Optimization | Défini sur Désactivé (/0d). code optimisé est plus difficile à déboguer, car les instructions générées ne correspondent pas directement à votre code source. Si vous trouvez que votre programme a un bogue qui apparaît uniquement dans le code optimisé, vous pouvez activer ce paramètre, mais n’oubliez pas que le code affiché dans la fenêtre Désassemblement est généré à partir d’une source optimisée qui peut ne pas correspondre à ce que vous voyez dans vos fenêtres sources. D'autres fonctionnalités, telles que l'exécution pas à pas, peuvent ne pas se comporter comme prévu. |
Propriétés de configuration | Éditeur de liens | nœud Débogage
Nom de la propriété | Réglage |
---|---|
Générer des informations de débogage | Vous devez toujours définir cette option sur oui (/DEBUG) pour créer des symboles de débogage et des fichiers nécessaires au débogage. Lorsque l’application passe en production, vous pouvez la désactiver. |
Projets Win32
Les applications Win32 sont des programmes Windows traditionnels écrits en C ou C++. Le débogage de ce type d’application dans Visual Studio est simple.
Les applications Win32 incluent des applications MFC et des projets ATL. Ils utilisent des API Windows et peuvent utiliser MFC ou ATL, mais ils n’utilisent pas le Common Language Runtime (CLR). Toutefois, elles peuvent appeler du code managé qui utilise le CLR.
La procédure suivante explique comment déboguer un projet Win32 à partir de Visual Studio. Une autre façon de déboguer une application Win32 consiste à démarrer l’application en dehors de Visual Studio et à l’attacher. Pour plus d’informations, consultez Attacher aux processus en cours d’exécution.
Pour déboguer une application Win32 C ou C++
Ouvrez le projet dans Visual Studio.
Dans le menu Déboguer, choisissez Démarrer.
Déboguer à l’aide des techniques décrites dans Premier aperçu du débogueur.
Pour définir manuellement une configuration Debug
Dans le menu Affichage, cliquez sur Pages de propriétés.
Cliquez sur le nœud Propriétés de configuration pour l’ouvrir s’il ne l’est pas déjà
Sélectionnez Général et affectez la valeur Debug à la ligne Sortie.
Ouvrez le nœud C/C++ et sélectionnez Général.
Dans la ligne Débogage vous spécifiez le type d’informations de débogage à générer par le compilateur. Vous pouvez notamment choisir Base de données du programme (/Zi) ou Base de données du programme pour Modifier & Continuer.
Sélectionnez Optimisation puis, dans la ligne Optimisation, sélectionnez Désactivé (/0d) dans la liste déroulante.
Le code optimisé est plus difficile à déboguer, car les instructions générées ne correspondent pas directement à votre code source. Si vous trouvez que votre programme contient un bogue qui apparaît uniquement dans le code optimisé, vous pouvez activer ce paramètre, mais n’oubliez pas que le code affiché dans la fenêtre Désassembleur est généré à partir d’une source optimisée qui peut ne pas correspondre à ce que vous voyez dans vos fenêtres sources. Certains fonctionnalités, telles que l'exécution pas à pas, peuvent afficher des points d'arrêt et un point d'exécution incorrects.
Ouvrez le nœud Éditeur de liens et sélectionnez Débogage. Dans la première ligne Générer, sélectionnez Oui (/DEBUG) dans la liste déroulante. Définissez toujours cette option lorsque vous déboguez.
Pour plus d’informations, consultez Paramètres de projet pour une configuration de débogage C++.