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 il nome del file di codice sorgente e il 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 esempio, vedere enumerazione dei moduli simbolici. Per recuperare un elenco di simboli per un determinato modulo, chiamare la funzioneSymEnumSymbols. Per un esempio, vedere Enumerare i simboli.
Recupero di simboli in base all'indirizzo
Per recuperare informazioni simboliche per un indirizzo specifico, utilizzare la funzioneSymFromAddr. 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 buffer aggiuntivo dopo la dichiarazione della struttura SYMBOL_INFO. Per un esempio, vedere Recupero delle informazioni sui simboli per indirizzo.
Si noti che l'indirizzo non deve necessariamente essere allineato a un confine 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, usare la funzionesymfromname. Se è impostato il caricamento di simboli posticipati, 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 dei numeri di riga da indirizzo
Per recuperare il percorso del codice sorgente per un indirizzo specifico, utilizzare 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 Recuperare le informazioni sui simboli in base all'indirizzo.
Recupero dei numeri di riga per nome del simbolo
Per recuperare il percorso del codice sorgente per un nome di simbolo specifico, usare la funzioneSymGetLineFromName64. 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.