Ricerca di simboli

Dopo che un file di simboli è stato caricato nel gestore dei simboli, un'applicazione può usare le funzioni del localizzatore di simboli per restituire le informazioni sui simboli per un indirizzo specificato. Queste funzioni possono anche trovare un nome file di codice sorgente e un percorso del numero di riga per un indirizzo.

Enumerazione dei file di simboli

Per recuperare un elenco di tutti i file di simboli caricati dal nome del modulo, chiamare la funzione SymEnumerateModules64. Per un esempio, vedere enumerazione dei moduli di simboli. Per recuperare un elenco di simboli per un determinato modulo, chiamare la funzione SymEnumSymbols. Per un esempio, vedere Enumerazione dei simboli.

Recupero di simboli in base all'indirizzo

Per recuperare informazioni simboliche per un indirizzo specifico, utilizzare la funzione SymFromAddr. Questa funzione recupera le informazioni e la archivia in una struttura SYMBOL_INFO. Poiché i nomi dei simboli sono di lunghezza variabile, è necessario fornire spazio del buffer aggiuntivo dopo la dichiarazione della struttura SYMBOL_INFO . Per un esempio, vedere Recupero delle informazioni sui simboli in base all'indirizzo.

Si noti che l'indirizzo non deve trovarsi su un limite di simboli. Se l'indirizzo viene dopo l'inizio di un simbolo ma prima della fine del simbolo (l'inizio del simbolo più le dimensioni del simbolo), la funzione individua il simbolo.

Recupero di simboli in base al nome del simbolo

Per recuperare informazioni simboliche in una struttura SYMBOL_INFO per un modulo e un nome di simbolo specifici, utilizzare la funzione SymFromName. Se è impostato il caricamento posticipato dei simboli, SymFromName tenterà di caricare il file di simboli per un modulo se non è già stato caricato. Per specificare un nome di modulo insieme a un nome di simbolo, usare la sintassi Module!SymName. Il carattere "!" delimita il nome del modulo dal nome del simbolo. Per un esempio, vedere Recupero delle informazioni sui simboli in base al nome.

Recupero di numeri di riga per indirizzo

Per recuperare il percorso del codice sorgente per un indirizzo specifico, usare la funzione SymGetLineFromAddr64. Questa funzione riempie una struttura IMAGEHLP_LINE64 che include il nome del file di origine e la posizione del numero di riga a cui fa riferimento l'indirizzo specificato. Per un esempio, vedere Recupero delle informazioni sui simboli in base all'indirizzo.

Recupero di numeri di riga in base al nome del simbolo

Per recuperare il percorso del codice sorgente per un nome di simbolo specifico, usare la funzione SymGetLineFromName64. Questa funzione è simile a SymGetSymFromName64, ma recupera una struttura IMAGEHLP_LINE64. Per usare SymGetLineFromAddr64 o SymGetLineFromName64, è necessario impostare l'opzione righe di caricamento (SYMOPT_LOAD_LINES) usando la funzione SymSetOptions. Per un esempio, vedere Recupero delle informazioni sui simboli in base al nome.