Uso di simboli

Per una panoramica dei simboli, tra cui l'uso di file di simboli e server simboli, vedere Simboli.

Nomi e posizioni dei simboli

Per trovare la posizione di un simbolo dato il nome, usare GetOffsetByName. Per informazioni dettagliate sulla sintassi usata per specificare i nomi dei simboli, vedere Sintassi dei simboli e corrispondenza dei simboli.

Se il nome esatto di un simbolo non è noto o più simboli hanno lo stesso nome, StartSymbolMatch inizierà una ricerca di simboli i cui nomi corrispondono a un determinato modello. Per informazioni dettagliate sulla sintassi, vedere Sintassi con caratteri jolly stringa.

Per trovare il nome di un simbolo dato il percorso, usare GetNameByOffset. Per trovare i nomi dei simboli in un modulo vicino a una determinata posizione, usare GetNearNamebyOffset.

Nota Se possibile, qualificare il simbolo con il nome del modulo, ad esempio mymodule!main. In caso contrario, se il simbolo non esiste (ad esempio, a causa di un errore tipografico) il motore dovrà caricare e cercare i simboli per ogni modulo; questo può essere un processo lento, soprattutto per il debug in modalità kernel. Se il nome del simbolo è stato qualificato con un nome del modulo, il motore dovrà cercare solo i simboli per tale modulo.

Un simbolo viene identificato in modo univoco usando la struttura DEBUG_MODULE_AND_ID. Questa struttura viene restituita dai metodi GetSymbolEntriesByName e GetSymbolEntriesByOffset, che cercano i simboli in base al nome e alla posizione rispettivamente.

Il metodo GetSymbolEntryInformation restituisce una descrizione di un simbolo usando la struttura DEBUG_SYMBOL_ENTRY .

Per trovare l'offset di un campo all'interno di una struttura, usare GetFieldOffset. Per trovare il nome di un campo dato il relativo indice all'interno di una struttura, usare GetFieldName. Per trovare il nome di una costante di enumerazione data il relativo valore, usare GetConstantName.

Il metodo GetSymbolInformation può eseguire diverse richieste per informazioni sui simboli.

Opzioni dei simboli

Un numero di opzioni controlla il modo in cui i simboli vengono caricati e scaricati. Per una descrizione di queste opzioni, vedere Impostazione delle opzioni dei simboli.

Le opzioni dei simboli possono essere attivate usando AddSymbolOptions e disattivate usando RemoveSymbolOptions.

GetSymbolOptions restituisce le opzioni dei simboli correnti. Per impostare tutte le opzioni dei simboli contemporaneamente, usare SetSymbolOptions.

Ricaricare i simboli

Dopo il caricamento dei file di simboli, il motore archivia le informazioni sui simboli in una cache interna. Per scaricare questa cache, usare Ricarica. Questi simboli dovranno essere caricati di nuovo ora o in un secondo momento.

Simboli sintetici

I simboli sintetici sono un modo per etichettare un indirizzo arbitrario per un semplice riferimento. I simboli sintetici possono essere creati in qualsiasi modulo esistente. Il metodo AddSyntheticSymbol crea un nuovo simbolo sintetico. I simboli sintetici possono essere rimossi usando RemoveSyntheticSymbol. Ricaricando i simboli per il modulo vengono eliminati tutti i simboli sintetici associati a tale modulo.

Percorso simbolo

Per aggiungere una directory o un server di simboli al percorso del simbolo, usare il metodo AppendSymbolPath. L'intero percorso del simbolo viene restituito da GetSymbolPath e può essere modificato usando SetSymbolPath.