Condividi tramite


Simboli

Un simbolo è un'unità denominata di dati o codice da un file di origine visualizzato in un modulo. Le informazioni sui simboli possono includere il nome, il tipo (se applicabile), l'indirizzo o il registro in cui è archiviato e qualsiasi simbolo padre o figlio. Esempi di simboli includono variabili (locali e globali), funzioni e qualsiasi punto di ingresso in un modulo.

Le informazioni sui simboli vengono usate dal motore per interpretare i dati e il codice nella destinazione. Con queste informazioni, il motore può cercare i simboli in base al nome o alla posizione in memoria e fornire una descrizione di un simbolo.

Il motore ottiene le informazioni sui simboli dai file di simboli, che si trovano nel file system locale o caricati da un server di simboli. Quando si usa un server di simboli, il motore userà automaticamente la versione corretta del file di simboli per trovare la corrispondenza con il modulo nella destinazione. I file di simboli possono essere caricati ogni volta che viene caricato il modulo corrispondente oppure possono essere caricati in base alle esigenze.

Nota Spesso l'ottimizzazione dei compilatori non include informazioni accurate nei file di simboli. Ciò può causare un'errata interpretazione del valore di alcune variabili perché la posizione o la durata della variabile potrebbero essere descritte in modo errato, causando che il motore esamini la parte errata di memoria o pensi che un valore variabile sia attivo quando è morto (o viceversa). È anche possibile che un compilatore di ottimizzazione modifizzi l'ordine di esecuzione o di suddividere una funzione in più parti. I risultati migliori vengono in genere ottenuti durante il debug di codice non ottimizzato.

Informazioni aggiuntive

Per informazioni dettagliate sull'uso dei simboli, vedere Uso dei simboli. Per una panoramica dell'uso di file di simboli e server di simboli, vedere Simboli nella sezione Debugger di questa documentazione.