Condividi tramite


Mappe del codice per progetti C++

Per creare mappe più complete per i progetti C++, impostare l'opzione sfoglia del compilatore di informazioni (/FR) in tali progetti. In caso contrario, viene visualizzato un messaggio e viene richiesto di impostare questa opzione. Se si seleziona OK, viene impostata l'opzione solo per la mappa corrente. È possibile scegliere di nascondere il messaggio per tutte le mappe successive.

Quando si apre una soluzione che contiene progetti Visual C++, potrebbe essere necessario del tempo per aggiornare il database IntelliSense. Durante questo periodo di tempo, potrebbe non essere possibile creare mappe del codice per i file di intestazione (con estensione h o #include) fino al termine dell'aggiornamento del database IntelliSense. È possibile monitorare lo stato di avanzamento dell'aggiornamento nella barra di stato di Visual Studio.

  • Per visualizzare le dipendenze tra tutti i file di origine e i file di intestazione nella soluzione, selezionare Architettura>Genera grafico dei file di inclusione.

    Grafico delle dipendenze per il codice nativo

  • Per visualizzare le dipendenze tra il file attualmente aperto e i file di origine correlati, così come i file di intestazione, aprire il file di origine o il file di intestazione. Aprire il menu di scelta rapida del file in un punto qualsiasi all'interno del file. Scegli Genera grafico dei file inclusi.

    Grafico delle dipendenze di primo livello per il file con estensione h

Risolvere i problemi relativi alle mappe del codice C e C++

Questi elementi non sono supportati per il codice C e C++:

  • I tipi fondamentali non compaiono nei schemi che includono la gerarchia parentale.

  • La maggior parte delle voci di menu Mostra non è disponibile per il codice C e C++.

Questi problemi possono verificarsi quando si creano mappe codice per il codice C e C++:

Issue Causa possibile Resolution
Impossibile generare la mappa del codice. Nessun progetto nella soluzione è stato buildato con successo. Correggere gli errori di compilazione che si sono verificati e quindi rigenerare la mappa.
Visual Studio non risponde quando si tenta di generare una mappa del codice dal menu Architettura . Il file del database di programma (con estensione pdb) potrebbe essere danneggiato.

Un file con estensione pdb archivia informazioni di debug, ad esempio informazioni sul tipo, sul metodo e sul file di origine.
Ricompilare la soluzione e riprovare.
Alcune impostazioni per il database di esplorazione di IntelliSense sono disabilitate. Alcune impostazioni di IntelliSense potrebbero essere disabilitate nella finestra di dialogo Opzioni di Visual Studio. Attivare le impostazioni per abilitarle.

Vedere Opzioni, Editor di testo, C/C++, Avanzate.
Il messaggio Metodi sconosciuti viene visualizzato in un nodo del metodo.

Questo problema si verifica perché il nome del metodo non può essere risolto.
Il file binario potrebbe non avere una tabella di rilocazione di base. Attivare l'opzione /FIXED:NO nel linker.
Il file del database di programma (con estensione pdb) potrebbe non essere compilato.

Un file con estensione pdb archivia informazioni di debug, ad esempio informazioni sul tipo, sul metodo e sul file di origine.
Attivare l'opzione /DEBUG nel linker.
Impossibile aprire o trovare il file con estensione pdb nei percorsi previsti. Assicurarsi che il file .pdb esista nelle posizioni previste.
Le informazioni di debug sono state rimosse dal file con estensione pdb. Se l'opzione /PDBSTRIPPED è stata usata nel linker, includere invece il file con estensione pdb completo.
Il chiamante non è una funzione ed è un thunk nel file binario o un puntatore nella sezione dei dati. Quando il chiamante è un thunk, provare a usare _declspec(dllimport) per evitare il thunk.