Simboli WdbgExts

Questo argomento fornisce una breve panoramica del modo in cui i simboli possono essere modificati usando l'API WdbgExts. Per una panoramica dell'uso dei simboli nel motore di debugger, vedere Simboli nella sezione Panoramica del motore di debugger di questa documentazione.

Per valutare un'espressione MASM o C++, usare le funzioni GetExpression o GetExpressionEx.

Per leggere il valore di un membro in una struttura, utilizzare la funzione GetFieldData o, se, il membro contiene un valore primitivo, è possibile usare GetFieldValue . Per determinare le dimensioni di un'istanza di un simbolo nella memoria della destinazione, usare la funzione GetTypeSize .

Per individuare l'offset di un membro in una struttura, utilizzare la funzione GetFieldOffset .

Per leggere più membri in una struttura, usare prima di tutto la funzione InitTypeRead per inizializzare la struttura. È quindi possibile usare la funzione ReadField per leggere i membri con dimensioni minori o uguali a 8 byte uno alla volta. Per gli indirizzi di struttura in memoria fisica, usare la funzione InitTypeReadPhysical anziché InitTypeRead.

Esistono due funzioni che è possibile usare per eseguire l'iterazione su elenchi collegati. Per gli elenchi collegati doubly che usano le strutture LIST_ENTRY32 o LIST_ENTRY64, è possibile usare la funzione ReadListEntry per trovare le voci successive e precedenti. La funzione ListType scorrerà tutte le voci di un elenco collegato e chiamerà una funzione di callback per ogni voce.

Per individuare un simbolo vicino a un indirizzo specificato nella memoria della destinazione, usare la funzione GetSymbol .

Per eliminare tutte le informazioni sui simboli dalla cache del motore di debugger, usare la funzione ReloadSymbols . Per leggere o modificare il percorso del simbolo, usato per cercare i file di simboli, usare la funzione GetSetSympath .

Quasi tutte le operazioni di simboli fornite dal motore del debugger possono essere eseguite usando l'operazione IoctlIG_DUMP_SYMBOL_INFO. Tuttavia, essendo una funzione molto flessibile, è avanzata ed è consigliabile usare le funzioni più semplici sopra indicate, se applicabile.

Informazioni aggiuntive

Per un'API di simboli più potente, vedere Uso dei simboli nella sezione Uso dell'API del motore di debugger di questa documentazione.