Metodo IDebugAdvanced3::GetSymbolInformation (dbgeng.h)
Il metodo GetSymbolInformation restituisce informazioni specificate su un simbolo.
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
);
[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:
Ignorato.
Indirizzo di base del modulo di cui viene richiesta la descrizione.
Specifica l'indirizzo nella memoria del simbolo di destinazione il cui nome viene richiesto.
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:
ID del punto di interruzione del motore del punto di interruzione desiderato.
Imposta su zero.
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.
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.
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. |
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | dbgeng.h (include Dbgeng.h) |