Metodo IDebugAdvanced3::GetSymbolInformation (dbgeng.h)
Il metodo GetSymbolInformation restituisce informazioni specificate su un simbolo.
Sintassi
HRESULT GetSymbolInformation(
[in] ULONG Which,
[in] ULONG64 Arg64,
[in] ULONG Arg32,
[out, optional] PVOID Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG InfoSize,
[out, optional] PSTR StringBuffer,
[in] ULONG StringBufferSize,
[out, optional] PULONG StringSize
);
Parametri
[in] Which
Specifica la parte di informazioni da restituire. Che può accettare uno dei valori nella tabella seguente.
Valore | Informazioni restituite |
---|---|
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE | Restituisce il nome del file del codice sorgente e il numero di riga per un punto di interruzione specificato. Il numero di riga viene restituito a Buffer come ULONG. Il nome del file viene restituito a StringBuffer. |
DEBUG_SYMINFO_IMAGEHLP_MODULEW64 |
Restituisce una struttura IMAGEHLP_MODULEW64 che descrive un modulo specificato. Per informazioni dettagliate su questa struttura, vedere l'argomento IMAGEHLP_MODULE64 nella documentazione della Libreria della Guida di debug (dbghelp.chm).
Non viene restituita alcuna stringa e StringBuffer, StringBufferSize e StringSize devono essere tutti impostati su zero. |
DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE | Restituisce il nome Unicode del simbolo specificato dalla posizione nel tipo di tag PDB e memoria. Il nome viene restituito a Buffer. StringBuffer non viene usato. |
DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS | Restituisce un elenco di nomi di simboli e offset per i simboli nel modulo specificato con il tipo di tag PDB specificato. Gli offset vengono restituiti come matrice di valori ULONG in Buffer. I nomi vengono restituiti nello stesso ordine degli offset in StringBuffer. Alcuni nomi possono contenere zeri incorporati perché le annotazioni possono avere nomi in più parti; di conseguenza, ogni nome viene terminato con due caratteri Null. |
[in] Arg64
Specifica un argomento a 64 bit. Questo parametro ha le interpretazioni seguenti a seconda del valore di Which:
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE
Ignorato.
DEBUG_SYMINFO_IMAGEHLP_MODULEW64
Indirizzo di base del modulo di cui viene richiesta la descrizione.
DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE
Specifica l'indirizzo nella memoria del simbolo di destinazione il cui nome viene richiesto.
DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS
Specifica il modulo i cui simboli sono richiesti. Arg64 è una posizione all'interno dell'allocazione di memoria del modulo.
[in] Arg32
Specifica un argomento a 32 bit. Questo parametro ha le interpretazioni seguenti a seconda del valore di Which:
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE
ID del punto di interruzione del motore del punto di interruzione desiderato.
DEBUG_SYMINFO_IMAGEHLP_MODULEW64
Imposta su zero.
DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE
Classificazione PDB del simbolo. Arg32 deve essere uno dei valori nell'enumerazione SymTagEnum definita in Dbghelp.h. Per altre informazioni, vedere la documentazione di PDB.
DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS
Classificazione PDB del simbolo. Arg32 deve essere uno dei valori nell'enumerazione SymTagEnum definita in Dbghelp.h. Per altre informazioni, vedere la documentazione di PDB.
[out, optional] Buffer
Riceve le informazioni sul simbolo richieste. Il tipo dei dati restituiti dipende dal valore di Which. Se Buffer è NULL, queste informazioni non vengono restituite.
[in] BufferSize
Specifica le dimensioni, in byte, del buffer buffer.
[out, optional] InfoSize
Se questo metodo restituisce S_OK, InfoSize riceve le dimensioni, in byte, delle informazioni sul simbolo restituite a Buffer. Se questo metodo restituisce S_FALSE, il buffer fornito non è sufficientemente grande e InfoSize riceve le dimensioni del buffer necessarie. Se InfoSize è NULL, queste informazioni non vengono restituite.
[out, optional] StringBuffer
Riceve la stringa richiesta. L'interpretazione di questa stringa dipende dal valore di Which. Se StringBuffer è NULL, queste informazioni non vengono restituite.
[in] StringBufferSize
Specifica le dimensioni, in caratteri, del buffer stringa StringBuffer.
[out, optional] StringSize
Riceve le dimensioni, in caratteri, della stringa restituita a StringBuffer. Se StringSize è NULL, queste informazioni non vengono restituite.
Valore restituito
Questo metodo può anche restituire valori di errore. Per altri dettagli, vedere Valori restituiti .
Codice restituito | Descrizione |
---|---|
|
Il metodo è stato eseguito correttamente. |
|
Il metodo è stato eseguito correttamente. Tuttavia, le informazioni non rientrano nel buffer Buffer o la stringa non rientra nel buffer StringBuffer, quindi le informazioni o il nome sono stati troncati. |
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | dbgeng.h (include Dbgeng.h) |