Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
File di database del programma (.pdb), detti anche file dei simboli, collegano gli identificatori e le dichiarazioni nel codice sorgente del progetto agli identificatori e alle istruzioni corrispondenti nelle app compilate. Questi file di mapping collegano il debugger al codice sorgente, che consente il debug.
Quando si compila un progetto dall'IDE di Visual Studio con la configurazione di compilazione debug standard, il compilatore crea i file di simboli appropriati. Questo articolo descrive come gestire i file di simboli nell'IDE, ad esempio:
- Configurare il percorso dei file di simboli
- Caricare i simboli durante il debug di
- Opzioni del compilatore per i simboli
Per una spiegazione dettagliata dei file di simboli, vedere Informazioni sui file di simboli e sulle impostazioni dei simboli di Visual Studio.
Funzionamento dei file di simboli
Il file con estensione .pdb contiene informazioni di debug e sullo stato del progetto che consentono il collegamento incrementale di una configurazione di Debug dell'app. Il debugger di Visual Studio usa file con estensione pdb per determinare due informazioni chiave durante il debug:
- Nome file di origine e numero di riga da visualizzare nell'IDE di Visual Studio
- Dove fermare l'app per un punto di interruzione
I file di simboli mostrano anche il percorso dei file di origine e, facoltativamente, il server da cui recuperarli.
Il debugger carica solo i file .pdb che corrispondono esattamente ai file .pdb creati durante la compilazione di un'app, ovvero i file .pdb originali o le loro copie. Questa duplicazione esatta è necessaria perché il layout delle app può cambiare anche se il codice stesso non viene modificato. Per altre informazioni, vedere Perché Visual Studio richiede che i file di simboli del debugger corrispondano esattamente ai file binari con cui sono stati compilati?
Suggerimento (assuming the context is advice or a hint)
Per eseguire il debug di codice all'esterno del codice sorgente del progetto, ad esempio codice windows o codice di terze parti, è necessario specificare il percorso del codice esterno file con estensione pdb (e, facoltativamente, i file di origine), che devono corrispondere esattamente alle compilazioni nell'app.
Dove il debugger cerca i simboli
Quando si esegue il debug di un progetto nell'IDE di Visual Studio, il debugger carica automaticamente i file di simboli che è possibile trovare per impostazione predefinita.
Nota
Quando si esegue il debug di codice gestito in un dispositivo remoto, tutti i file di simboli devono trovarsi nel computer locale o in un percorso specificato nelle opzioni del debugger.
Il debugger cerca i file di simboli nei percorsi seguenti, nell'ordine specificato:
Cartella del progetto.
La posizione specificata all'interno della DLL o del file eseguibile (.exe).
Per impostazione predefinita, se è stata compilata una DLL o un file .exe nel computer, il linker inserisce il percorso completo e il nome del file del file .pdb associato nella DLL o nel file .exe. Il debugger verifica se il file di simboli esiste in quel percorso.
La stessa cartella del file DLL o .exe.
Qualsiasi percorso specificato nelle opzioni del debugger per i file di simboli. Per aggiungere e abilitare le posizioni dei simboli, vedere Configurare le posizioni dei simboli e le opzioni di caricamento.
Qualsiasi cartella della cache dei simboli locale.
Se selezionati, i server di simboli di rete, Internet o locali, come ad esempio i server di simboli Microsoft. Visual Studio può scaricare i file di simboli di debug dai server di simboli che implementano il protocollo
symsrv. Visual Studio Team Foundation Server e gli strumenti di debug per Windows sono due strumenti che possono usare server di simboli.I server di simboli che è possibile usare includono:
server di simboli Microsoft pubblici: per eseguire il debug di un arresto anomalo che si verifica durante una chiamata a una DLL di sistema o a una libreria di terze parti, è spesso necessario file .pdb. I file .pdb di sistema contengono simboli per le DLL di Windows, i file .exe e i driver di dispositivo. È possibile ottenere simboli per i sistemi operativi Windows, MDAC, IIS, ISA e .NET dai server di simboli Microsoft pubblici.
server simbolo in una rete interna o nel computer locale: il team o l'azienda può creare server di simboli per i propri prodotti e come cache per i simboli provenienti da origini esterne. Potrebbe essere disponibile un server di simboli nel proprio computer.
Server di simboli di terze parti: I provider di terze parti di applicazioni e librerie Windows possono fornire accesso ai server dei simboli su Internet.
Avvertimento
Se si usa un server di simboli diverso dai server di simboli Microsoft pubblici, assicurarsi che il server dei simboli e il relativo percorso siano attendibili. Poiché i file di simboli possono contenere codice eseguibile arbitrario, è possibile essere esposti alle minacce alla sicurezza.
Configurare il percorso dei file di simboli e le opzioni di caricamento
Il debugger, per impostazione predefinita, controlla varie posizioni per i simboli. Per altre informazioni, vedere Dove il debugger cerca i simboli.
Dal menu Strumenti (o Debug) >Opzioni è possibile accedere alle opzioni debugging>Simboli:
- Specificare e selezionare i percorsi di ricerca per i file di simboli.
- Specificare i server di simboli per i componenti Microsoft, Windows o di terze parti.
- Specificare i moduli per cui si esegue o non si vuole che il debugger carichi automaticamente i simboli.
- Modificare queste impostazioni durante il debug attivo. Consulta Caricare i simboli durante il debug.
Per specificare le posizioni dei simboli e le opzioni di caricamento:
Aprire il riquadro Strumenti (o Debug) >Opzioni ed espandere la sezione Tutte le impostazioni>Debug> deisimboli>generali>Percorsi di ricerca.
Nel riquadro di destra, selezionare la casella di controllo per ogni server desiderato: server di simboli di Microsoft, server di simboli di NuGet.org, e così via.
Aggiungere un nuovo percorso del server dei simboli selezionando + Aggiungi nella barra degli strumenti per il riquadro di gruppo Percorsi file di simboli (.pdb).
Immettere l'URL (http), la condivisione di rete o il percorso locale del server dei simboli o il percorso del simbolo nel campo di testo. Il completamento della frase aiuta a trovare il formato corretto.
Nota
Viene eseguita la ricerca solo della cartella specificata. È necessario aggiungere voci per tutte le sottocartelle da cercare.
Selezionare la casella di controllo Abilitato e quindi selezionare Salva.
Aggiungere un percorso del server dei simboli di Azure DevOps selezionando il collegamento Nuovo percorso del server dei simboli di Azure DevOps .
Nella finestra di dialogo Connetti al server dei simboli di Azure DevOps selezionare un server di simboli disponibile e quindi selezionare Connetti.
Per altre informazioni, vedere Aggiungere un server di simboli di Azure Artifacts.
- Per modificare l'ordine di caricamento per le posizioni dei simboli, usare CTRL SU + e CTRL + oppure selezionare Sposta su e Sposta giù.
- Per modificare un URL o un percorso, fare doppio clic sulla voce oppure evidenziare la voce e selezionare Modifica.
- Per rimuovere una voce, evidenziare la voce e selezionare Rimuovi.
Aprire la finestra di dialogo Strumenti (o Debug) >Opzioni ed espandere la sezione Debugging>Simboli.
Nella casella di gruppo Percorsi di ricerca file di simboli (con estensione pdb) selezionare la casella di controllo per ogni server desiderato: Server dei simboli Microsoft, Server dei simboli NuGet.org e così via.
Aggiungere un nuovo percorso del server dei simboli selezionando Nuovo percorso (+) nella barra degli strumenti per la casella di gruppo Percorsi di ricerca file di simboli (con estensione pdb).
Immettere l'URL (http), la condivisione di rete o il percorso locale del server dei simboli o il percorso del simbolo nel campo di testo. Il completamento della frase aiuta a trovare il formato corretto.
Nota
Viene eseguita la ricerca solo della cartella specificata. È necessario aggiungere voci per tutte le sottocartelle da cercare.
Aggiungere un nuovo percorso del server dei simboli selezionando Nuovo percorso (+) nella barra degli strumenti per il riquadro di gruppo Percorsi di ricerca dei file simbolo (.pdb).
Immettere l'URL (http), la condivisione di rete o il percorso locale del server dei simboli o il percorso del simbolo nel campo di testo. Il completamento della frase aiuta a trovare il formato corretto.
Nota
Viene eseguita la ricerca solo della cartella specificata. È necessario aggiungere voci per tutte le sottocartelle da cercare.
Aggiungere una nuova posizione del server dei simboli di Azure DevOps selezionando
Nuova posizione del server dei simboli di Azure DevOps nella barra degli strumenti della casella di gruppo.Nella finestra di dialogo Connetti al server dei simboli di Azure DevOps selezionare un server di simboli disponibile e quindi selezionare Connetti.
Per altre informazioni, vedere Aggiungere un server di simboli di Azure Artifacts.
- Per modificare l'ordine di caricamento per le posizioni dei simboli, usare CTRL SU + e CTRL GIÙ oppure selezionare le azioni + eGiù.
- Per modificare un URL o un percorso, fare doppio clic sulla voce oppure evidenziare la voce e premere F2.
- Per rimuovere una voce, evidenziarla e selezionare Rimuovi posizione (-).
(Facoltativo) Migliorare le prestazioni di caricamento dei simboli specificando un percorso di cartella locale per i simboli copiati.
Per l'opzione Memorizza nella cache i simboli in questa directory , immettere un percorso di cartella locale in cui i server di simboli possono copiare i simboli.
Nota
Non posizionare la cache dei simboli locali in una cartella protetta, ad esempio C:\Windows o una sottocartella. Usare invece una cartella di lettura/scrittura.
Se la variabile di ambiente _NT_SYMBOL_PATH è impostata, il valore esegue l'override dei simboli nella cache in questa directory.
Specificare i moduli che il debugger deve caricare dai percorsi dei file di simboli (.pdb) all'avvio.
Passare alla sezione Tutte le Impostazioni>Debugging>Generale>Simboli>Ricerca e Caricamento.
Usare l'elenco a discesa per impostare il valore dell'opzione Di ricerca automatica dei simboli :
Scegliere automaticamente i simboli del modulo da cercare (scelta consigliata): consentire a Visual Studio di decidere quali simboli cercare e caricare. Per impostazione predefinita, Visual Studio carica automaticamente i simboli compilati dalla soluzione aperta e carica tutti gli altri simboli necessari per eseguire operazioni di debug comuni. Questa opzione riduce il numero di file che devono essere cercati e caricati da Visual Studio, migliorando così le prestazioni del debugger. È possibile forzare il caricamento di altri simboli creando l'elenco dei moduli inclusi.
Cercare tutti i simboli del modulo, a meno che non sia escluso: forzare Visual Studio a caricare tutti i simboli nel processo di debug. Questa opzione non è consigliata perché può rallentare l'esperienza di debug. È possibile forzare Visual Studio a ignorare determinati simboli creando l'elenco dei moduli esclusi.
Nella sezione Simboli di debug> selezionare il valore dell'opzione Preferenze di ricerca simboli:
Scegliere automaticamente i simboli del modulo da cercare (scelta consigliata): consentire a Visual Studio di decidere quali simboli cercare e caricare. Per impostazione predefinita, Visual Studio carica automaticamente i simboli compilati dalla soluzione aperta e carica tutti gli altri simboli necessari per eseguire operazioni di debug comuni. Questa opzione riduce il numero di file che devono essere cercati e caricati da Visual Studio, migliorando così le prestazioni del debugger. È possibile forzare il caricamento di altri simboli creando l'elenco dei moduli inclusi.
Cercare tutti i simboli del modulo, a meno che non sia escluso: forzare Visual Studio a caricare tutti i simboli nel processo di debug. Questa opzione non è consigliata perché può rallentare l'esperienza di debug. È possibile forzare Visual Studio a ignorare determinati simboli creando l'elenco dei moduli esclusi.
Caricare tutti i moduli, a meno che non sia escluso (impostazione predefinita): caricare tutti i simboli per tutti i moduli nel percorso del file di simboli, ad eccezione dei moduli esclusi in modo specifico.
Per escludere determinati moduli, selezionare Specifica moduli esclusi. Selezionare Aggiungi (+), immettere i nomi dei moduli da escludere e selezionare OK.
Caricare solo i moduli specificati: caricare solo i moduli specificati dai percorsi dei file di simboli.
Per identificare i moduli, selezionare Specificare i moduli inclusi. Selezionare Aggiungi (+), immettere i nomi dei moduli da includere e quindi selezionare OK. I file di simboli per altri moduli non vengono caricati.
- Per applicare le impostazioni, selezionare OK.
Specificare i filtri dei moduli
Entrambe le opzioni Scegliere automaticamente ... e Cerca tutte le opzioni ... consentono di controllare quali simboli vengono cercati durante il debug.
Per l'opzione Scegliere automaticamente i simboli del modulo da cercare , specificare l'elenco di ricerca creando l'elenco Moduli inclusi .
Selezionare + Aggiungi nella barra degli strumenti dell'elenco.
Nella finestra di dialogo Aggiungi elemento immettere il nome del modulo, selezionare la casella di controllo Abilitato e quindi selezionare Salva.
Aggiungere altri elementi all'elenco in base alle esigenze.
Specificare l'elenco di ricerca selezionando il collegamento Specifica filtri modulo :
Per scegliere automaticamente i simboli del modulo da cercare , viene visualizzata la finestra di dialogo Preferenze di ricerca automatica dei simboli :
Per creare l'elenco di filtri Moduli , selezionare Nuovo modulo (+), immettere i nuovi moduli e quindi selezionare OK.
I filtri dei moduli supportano semplici corrispondenze con i caratteri jolly. L'asterisco * corrisponde a qualsiasi gruppo di caratteri. Ad esempio, *myproduct* corrisponde a file come myproduct.utilities.dll e entrypoint.myproduct.exe, tra gli altri.
È possibile configurare altre opzioni per personalizzare l'esperienza:
Caricare sempre i simboli che si trovano accanto ai moduli: Visual Studio carica i file con estensione pdb archiviati nel file system con i relativi file .dll o .exe corrispondenti. Questo approccio può essere utile, ad esempio quando si tenta di eseguire il debug di un'app Web distribuita.
Caricare automaticamente simboli aggiuntivi quando necessario: Visual Studio cerca simboli per eseguire azioni di debug comuni, ad esempio l'esecuzione di istruzioni, anche se il modulo a cui si esegue l'istruzione non è incluso nel progetto o nel filtro dei moduli. Il modo in cui la ricerca è determinata può essere influenzata dalle impostazioni Just My Code .
Per l'opzione Cerca tutti i simboli del modulo, a meno che non sia esclusa , specificare l'elenco di ricerca creando l'elenco Moduli esclusi .
Selezionare + Aggiungi nella barra degli strumenti dell'elenco.
Nella finestra di dialogo Aggiungi elemento immettere il nome del modulo, selezionare la casella di controllo Abilitato e quindi selezionare Salva.
Aggiungere altri elementi all'elenco in base alle esigenze.
Per l'opzione Cerca tutti i simboli del modulo, a meno che non sia esclusa , viene visualizzata la finestra di dialogo Preferenze di esclusione simboli :
Per creare l'elenco di filtri Moduli , selezionare Nuovo modulo (+), immettere i nuovi moduli e quindi selezionare OK.
In questa finestra di dialogo è possibile scegliere i moduli per cui non si vuole che Visual Studio carichi i simboli. In questo scenario, Visual Studio tenta di caricare i simboli per ogni modulo nel processo di debug (inclusi i moduli da parti non Microsoft), a meno che non si aggiunga un filtro corrispondente per escluderli. L'unico modo in cui questo comportamento può essere modificato è costituito dalle impostazioni Just My Code .
Altre opzioni di simboli per il debug
È possibile selezionare altre opzioni di simboli di debug dal menu Strumenti (o Opzioni debug). >
Le impostazioni seguenti sono disponibili nella sezione Tutte le impostazioni>Debug>generale .
Nella sezione Debug>generale sono disponibili le impostazioni seguenti.
Caricare le esportazioni dll (solo native): carica le tabelle di esportazione DLL per C/C++. Per informazioni dettagliate, vedere tabelle di esportazione DLL. La lettura delle informazioni sull'esportazione delle DLL comporta un sovraccarico, quindi il caricamento delle tabelle di esportazione è disattivato per impostazione predefinita. È anche possibile usare
dumpbin /exportsin una riga di comando di compilazione C/C++.Abilitare il debug a livello di indirizzo e Mostra sempre il disassembly se i file di origine non sono disponibili: mostra sempre il disassembly quando non vengono trovati file di origine o file di simboli.
Abilitare il supporto del server di origine: usa il server di origine per eseguire il debug di un'app quando non è presente codice sorgente nel computer locale o il file con estensione pdb non corrisponde al codice sorgente. Il server di origine accetta richieste di file e restituisce i file effettivi dal controllo del codice sorgente. Il server di origine viene eseguito usando una DLL denominata srcsrv.dll per leggere il file .pdb dell'app. Il file con estensione pdb contiene puntatori al repository del codice sorgente e comandi usati per recuperare il codice sorgente dal repository.
È possibile limitare i comandi che srcsrv.dll possono essere eseguiti dal file .pdb dell'app elencando i comandi consentiti in un file denominato srcsrv.ini. Posizionare il file di srcsrv.ini nella stessa cartella di srcsrv.dll e devenv.exe.
Importante
I comandi arbitrari possono essere incorporati nel file .pdb di un'app, quindi assicurarsi di inserire solo i comandi da eseguire in un file srcsrv.ini. Qualsiasi tentativo di eseguire un comando non nel filesrcsvr.ini attiva una finestra di dialogo di conferma. Per altre informazioni, vedere Avviso di sicurezza: Il debugger deve eseguire un comando non attendibile.
Non viene eseguita alcuna convalida sui parametri di comando, quindi prestare attenzione ai comandi attendibili. Ad esempio, se nell'srcsrv.iniè elencato cmd.exe , un utente malintenzionato potrebbe specificare parametri in cmd.exe che possono renderlo pericoloso.
Selezionare le preferenze di supporto desiderate. Tenere presente che le opzioni Consenti server di origine per assembly di attendibilità parziale (solo gestita) ed Esegui sempre comandi server di origine non attendibili senza richiesta possono aumentare i rischi per la sicurezza.
Opzioni dei simboli del compilatore
Quando si compila un progetto dall'IDE di Visual Studio con la configurazione di compilazione standard Debug, i compilatori C++ e quelli gestiti (managed) creano i file di simboli appropriati per il tuo codice. È anche possibile impostare le opzioni del compilatore nel codice.
Per impostare le opzioni del compilatore per le configurazioni di compilazione in Visual Studio, vedere Impostare configurazioni di debug e versione.
Opzioni .NET
Compilare con /debug per creare un file con estensione .pdb. È possibile compilare applicazioni con /debug:full o /debug:pdbonly. La compilazione con /debug:full genera codice di debug. La compilazione con /debug:pdbonly genera file con estensione pdb, ma non genera il documento che indica al compilatore JIT che le informazioni di debug sono disponibili. Usare /debug:pdbonly se si vogliono generare file con estensione .pdb per una build di rilascio che non deve essere sottoposta a debug. Per altre informazioni, vedere /debug (opzioni del compilatore C#) o /debug (Visual Basic).
Opzioni C/C++
VC<x>.pdb e <file di progetto>.pdb
Un file .pdb per C/C++ viene creato quando si compila con /ZI o /Zi. In Visual C++, l'opzione /Fd denomina il file pdb creato dal compilatore. Quando si crea un progetto in Visual Studio usando l'IDE, l'opzione /Fd viene impostata per creare un file con estensione pdb denominato <progetto>pdb.
Se si compila l'applicazione C/C++ usando un makefile e si specifica /ZI o /Zi senza usare /Fd per specificare un nome file, il compilatore crea due file .pdb:
VC<x>.pdb, dove <x> rappresenta la versione del compilatore Microsoft C++, ad esempio VC11.pdb
Il file VC<x>.pdb archivia tutte le informazioni di debug per i singoli file oggetto e si trova nella stessa directory del makefile del progetto. Ogni volta che crea un file oggetto, il compilatore C/C++ unisce le informazioni di debug in VC<x>pdb. Pertanto, anche se ogni file di origine include file di intestazione comuni, ad esempio <windows.h>, i typedef di tali intestazioni vengono archiviati una sola volta, anziché in ogni file oggetto. Le informazioni inserite includono informazioni sul tipo, ma non includono informazioni sui simboli, ad esempio definizioni di funzione.
<progetto>.pdb
Il file del progetto <>.pdb memorizza tutte le informazioni di debug per il file .exe del progetto e risiede nella sottodirectory \debug. Il file .pdb <>contiene informazioni di debug complete, inclusi i prototipi di funzione, non solo le informazioni sul tipo disponibili in VC<x>.pdb.
Sia i file VC<x>.pdb che i file del progetto <>.pdb consentono aggiornamenti incrementali. Il linker incorpora anche il percorso ai file .pdb nel file .exe o .dll che crea.
-
Usare
dumpbin /exportsper visualizzare i simboli disponibili nella tabella di esportazione di una DLL. Le informazioni simboliche dalle tabelle di esportazione DLL possono essere utili per l'uso di messaggi di Windows, procedure Windows (WindowProcs), oggetti COM, marshalling o qualsiasi DLL per cui non si dispone di simboli. I simboli sono disponibili per qualsiasi DLL di sistema a 32 bit. Le chiamate sono elencate nell'ordine di chiamata, con la funzione corrente (quella più annidata) in cima.Leggendo l'output
dumpbin /exports, è possibile visualizzare i nomi di funzione esatti, inclusi i caratteri non alfanumerici. La visualizzazione dei nomi di funzione esatti è utile per impostare un punto di interruzione su una funzione, perché i nomi delle funzioni possono essere troncati altrove nel debugger. Per altre informazioni, vedere dumpbin /exports.
Applicazioni Web
Impostare il file web.config dell'applicazione ASP.NET sulla modalità di debug. La modalità di debug fa sì che ASP.NET generi simboli per i file generati dinamicamente e consenta al debugger di collegarsi all'applicazione ASP.NET. Visual Studio imposta automaticamente questa impostazione all'avvio del debug, se il progetto è stato creato dal modello di progetti Web.
Caricare i simboli durante il debug
È possibile usare i Moduli , Stack di chiamate, Locali, Autos, o qualsiasi finestra Watch per caricare simboli o modificare le opzioni dei simboli durante il debug. Per altre informazioni, vedere Acquisire familiarità con il modo in cui il debugger si collega all'app.
Usare i simboli nella finestra Moduli
Durante il debug, la finestra Moduli mostra i moduli di codice che il debugger considera come codice utente o Codice personale e il relativo stato di caricamento dei simboli. È anche possibile monitorare lo stato di caricamento dei simboli, caricare i simboli e modificare le opzioni dei simboli nella finestra Moduli.
Per monitorare o modificare i percorsi o le opzioni dei simboli durante il debug:
Per aprire la finestra Moduli di, durante il debug selezionare Debug>Moduli di Windows> oppure premere CTRL + ALT + U).
Nella finestra Moduli, fare clic con il pulsante destro del mouse sull'intestazione Stato del Simbolo o sull'intestazione File di Simboli o su qualsiasi modulo.
Nel menu di scelta rapida selezionare una delle opzioni seguenti:
Opzione Descrizione caricare simboli Viene visualizzato per i moduli con simboli saltati, non trovati o non caricati. Tenta di caricare i simboli dalle posizioni specificate nel riquadro Strumenti>Opzioni sotto le sezioni Tutte le Impostazioni>Debug>Simboli>Ricerca e Caricamento o Percorsi di ricerca. Se il file di simboli non viene trovato o non caricato, avvia Esplora file in modo da poter specificare un nuovo percorso da cercare. Informazioni sul Caricamento dei Simboli Mostra il percorso di un file di simboli caricato o i percorsi cercati se il debugger non riesce a trovare il file. impostazioni dei simboli Apre il riquadro Strumenti>Opzioni nella sezione Tutte le impostazioni>Debug>Simboli>Percorsi di ricerca, in cui è possibile modificare e aggiungere posizioni dei simboli. Sempre caricare automaticamente Aggiunge il file di simboli selezionato all'elenco di file caricati automaticamente dal debugger. Decompilare il codice sorgente in un file di simboli Per il codice .NET, è possibile scegliere questa opzione e quindi seguire le istruzioni in Generare e incorporare origini per un assembly. Opzione Descrizione caricare simboli Viene visualizzato per i moduli con simboli saltati, non trovati o non caricati. Tenta di caricare i simboli da posizioni specificate nella finestra di dialogo Opzioni strumenti> nella sezioneSimbolidi debug>. Se il file di simboli non viene trovato o non caricato, avvia Esplora file in modo da poter specificare un nuovo percorso da cercare. Informazioni sul Caricamento dei Simboli Mostra il percorso di un file di simboli caricato o i percorsi cercati se il debugger non riesce a trovare il file. impostazioni dei simboli Apre la finestra di dialogo Strumenti>Opzioni nella sezione Debug>Simboli, in cui è possibile modificare e aggiungere percorsi dei simboli. Sempre caricare automaticamente Aggiunge il file di simboli selezionato all'elenco di file caricati automaticamente dal debugger. Decompilare il codice sorgente in un file di simboli Per il codice .NET, è possibile scegliere questa opzione e quindi seguire le istruzioni in Generare e incorporare origini per un assembly.
Usare le pagine Nessun Simbolo Caricato/Nessuna Fonte Caricata
Esistono diversi modi per il debugger di interrompere l'esecuzione in un codice che non dispone di file di simboli o di origine:
- Entra nel codice.
- Entrare nel codice da un punto di interruzione o un'eccezione.
- Passare a un thread diverso.
- Modificare il frame dello stack facendo doppio clic su un frame nella finestra Stack di chiamate.
In questo caso, il debugger visualizza le pagine Nessun Simbolo Caricato o Nessuna Origine Caricata per aiutarti a trovare e caricare i simboli o le origini necessari.
Per utilizzare la pagina del documento Senza simboli per trovare e caricare i simboli mancanti:
Per modificare il percorso di ricerca, selezionare un percorso non selezionato oppure selezionare Nuovo percorso o Nuovo percorso VSTS e immettere o selezionare un nuovo percorso. Selezionare Carica per cercare di nuovo i percorsi e caricare il file di simboli, se trovato.
Per eseguire l'override di tutte le opzioni dei simboli e ripetere i percorsi di ricerca, selezionare Sfoglia e trovare <nome eseguibile>. Il file di simboli viene caricato se viene trovato o viene aperto Esplora file in modo da poter selezionare manualmente il file di simboli.
- Per aprire la pagina delle impostazioni dei simboli per configurare il comportamento, selezionare Modifica impostazioni simbolo oppure aprire il riquadroOpzioni> e passare alla sezione Tutte le impostazioni>Debug>simboli>ricerca e caricamento o percorsi di ricerca.
- Per aprire la pagina delle impostazioni dei simboli per configurare il comportamento, selezionare Modifica impostazioni simbolo oppure aprire la finestra di dialogo Strumenti>Opzioni e passare alla sezione Debug>Simboli.
(Avanzate) Per visualizzare il disassembly in una nuova finestra una volta, selezionare Visualizza disassembly oppure selezionare La finestra di dialogo Opzioni per impostare l'opzione per visualizzare sempre il disassembly quando non vengono trovati file di origine o simboli. Per altre informazioni, vedere Visualizzare il codice disassembly.
Per mostrare le posizioni ricercate e il risultato, espandere Informazioni di caricamento simbolo.
Per il codice C#, è anche possibile scegliere di decompilare il codice di origine dalle pagine Nessun simbolo caricato o Nessun codice caricato.
Se il debugger trova il file pdb dopo l'esecuzione di una delle opzioni e può recuperare il file di origine usando le informazioni nel file pdb, viene visualizzata l'origine. In caso contrario, viene visualizzata una pagina Nessuna origine caricata che descrive il problema, con collegamenti a azioni che potrebbero risolvere il problema.
Per aggiungere percorsi di ricerca di file di origine a una soluzione:
È possibile specificare i percorsi cercati dal debugger i file di origine ed escludere file specifici dalla ricerca.
Selezionare la soluzione in Esplora soluzionie quindi selezionare l'icona Proprietà, premere Alt+Inviooppure fare clic con il pulsante destro del mouse e selezionare Proprietà.
Selezionare Eseguire il debug dei file di origine.
In Directory contenenti il codice sorgente, digitare o selezionare le posizioni del codice sorgente da ricercare. Utilizzare l'icona Nuova Linea per aggiungere altre posizioni, le icone freccia Su e Giù per riordinarle o l'icona X per eliminarle.
Nota
Il debugger cerca solo la directory specificata. È necessario aggiungere voci per tutte le sottodirectory che si desidera cercare.
In Non cercare questi file sorgente, inserire i nomi dei file sorgente da escludere dalla ricerca.
Selezionare OK o Applica.