Partager via


Mappages de code pour les projets C++

Si vous souhaitez créer des mappages plus complets pour les projets C++, définissez l’option parcourir le compilateur d’informations (/FR) sur ces projets. Sinon, un message s’affiche et vous invite à définir cette option. Si vous sélectionnez OK, cette option définit l’option uniquement pour la carte actuelle. Vous pouvez choisir de masquer le message pour toutes les cartes ultérieures.

Lorsque vous ouvrez une solution qui contient des projets Visual C++, il peut prendre un certain temps pour mettre à jour la base de données IntelliSense. Pendant ce temps, il se peut que vous ne puissiez pas créer de mappages de code pour les fichiers d’en-tête (.h ou #include) tant que la base de données IntelliSense n’a pas terminé la mise à jour. Vous pouvez surveiller la progression de la mise à jour dans la barre d’état de Visual Studio.

  • Pour afficher les dépendances entre tous les fichiers sources et les fichiers d’en-tête dans votre solution, sélectionnez Architecture>Generate Graph of Include Files.

    Graphique de dépendances pour le code natif

  • Pour afficher les dépendances entre le fichier actuellement ouvert et les fichiers sources associés et les fichiers d’en-tête, ouvrez le fichier source ou le fichier d’en-tête. Ouvrez le menu contextuel du fichier n’importe où dans le fichier. Choisissez Générer un graphique des fichiers d'inclusion.

    Graphique de dépendance de premier niveau pour le fichier .h

Résoudre les problèmes de mappages de code pour le code C et C++

Ces éléments ne sont pas pris en charge pour le code C et C++ :

  • Les types de base n’apparaissent pas sur les cartes qui incluent la hiérarchie parente.

  • La plupart des éléments de menu Afficher ne sont pas disponibles pour le code C et C++.

Ces problèmes peuvent se produire lorsque vous créez des mappages de code pour le code C et C++ :

Problème Cause possible Résolution
La carte de code n’a pas pu être générée. Aucun projet dans la solution n’a été créé avec succès. Corrigez les erreurs de build qui se sont produites, puis régénérez la carte.
Visual Studio ne répond plus lorsque vous essayez de générer un mappage de code à partir du menu Architecture . Le fichier de base de données du programme (.pdb) peut être endommagé.

Un fichier .pdb stocke les informations de débogage, telles que les informations de type, de méthode et de fichier source.
Régénérez la solution, puis réessayez.
Certains paramètres de la base de données de navigation IntelliSense sont désactivés. Certains paramètres IntelliSense peuvent être désactivés dans la boîte de dialogue Options de Visual Studio. Activez les paramètres pour les rendre opérationnels.

Voir Options, Éditeur de texte, C/C++, Avancé.
Le message Méthodes inconnues s’affiche sur un nœud de méthode.

Ce problème se produit parce que le nom de la méthode ne peut pas être résolu.
Le fichier binaire n’a peut-être pas de table de réaffectation de base. Activez l’option /FIXED :NO dans l’éditeur de liens.
Le fichier de base de données du programme (.pdb) peut ne pas être généré.

Un fichier .pdb stocke les informations de débogage, telles que les informations de type, de méthode et de fichier source.
Activez l’option /DEBUG dans l’éditeur de liens.
Impossible d’ouvrir ou de trouver le fichier .pdb dans les emplacements attendus. Vérifiez que le fichier .pdb existe dans les emplacements attendus.
Les informations de débogage ont été supprimées du fichier .pdb. Si l’option /PDBSTRIPPED a été utilisée dans l’éditeur de liens, incluez plutôt le fichier .pdb complet.
L'appelant n'est pas une fonction ; il s'agit soit d'un thunk dans le fichier binaire, soit d'un pointeur dans la section des données. Lorsque l’appelant est un “thunk”, essayez _declspec(dllimport) pour éviter le “thunk”.