Tipi

Le informazioni sul tipo del file di simboli di un modulo sono identificate da due informazioni: un ID di tipo e l'indirizzo di base del modulo a cui appartiene il tipo. Per trovare un ID di tipo, è possibile usare i metodi seguenti:

  • GetTypeId restituisce l'ID del tipo per un determinato nome di tipo.

  • GetSymbolTypeId restituisce l'ID di tipo per il tipo di simbolo con il nome specificato.

  • GetOffsetTypeId restituisce l'ID del tipo per il simbolo trovato nella posizione specificata.

Il nome e le dimensioni di un tipo vengono restituiti rispettivamente da GetTypeName e GetTypeSize.

I metodi pratici seguenti possono essere usati per leggere e scrivere dati tipiti nella memoria fisica e virtuale della destinazione:

ReadTypedDataPhysical

WriteTypedDataPhysical

ReadTypedDataVirtual

WriteTypedDataVirtual

Stampa di dati tipizzato

Per formattare i dati tipizzati e inviarli ai callback di output, usare rispettivamente OutputTypedDataPhysical e OutputTypedDataVirtual per i dati nella memoria fisica e virtuale della destinazione.

Le opzioni di tipo descritte in DEBUG_TYPEOPTS_XXX influiscono sul modo in cui il motore formatta i dati digitati prima di inviarli ai callback di output.

Le opzioni di tipo possono essere attivate usando AddTypeOptions e disattivate tramite RemoveTypeOptions.

GetTypeOptions restituisce le opzioni del tipo corrente. Per impostare contemporaneamente tutte le opzioni di tipo, usare SetTypeOptions.

Interpretazione dei dati non elaborati tramite informazioni sul tipo

L'API del motore di debugger supporta l'interpretazione dei dati tipiti. In questo modo è possibile esaminare le gerarchie degli oggetti nella destinazione, tra cui la ricerca di membri di strutture, la dereferenziazione dei puntatori e l'individuazione degli elementi della matrice.

I dati tipizzato vengono descritti dalle istanze della struttura DEBUG_TYPED_DATA e rappresentano le aree di memoria nel cast di destinazione a un determinato tipo. L'operazione di richiesta DEBUG_REQUEST_EXT_TYPED_DATA_ANSI viene usata per modificare queste istanze. Possono essere inizializzati nel risultato di espressioni o eseguendo il cast di aree di memoria a un tipo specificato. Per un elenco di tutte le operazioni secondarie supportate dall'operazione di richiesta di DEBUG_REQUEST_EXT_TYPED_DATA_ANSI, vedere EXT_TDOP.

Informazioni aggiuntive

Per informazioni dettagliate sui callback di output, vedere Input e output.