Condividi tramite


Metodo IDebugAdvanced2::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 delle 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 al 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).

Nessuna stringa viene restituita e StringBuffer, StringBufferSize e StringSize devono essere 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 al 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 zero incorporati perché le annotazioni possono avere nomi a più parti; di conseguenza, ogni nome viene terminato con due caratteri Null.

[in] Arg64

Specifica un argomento a 64 bit. Questo parametro include le seguenti interpretazioni a seconda del valore di Quale:

DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE

Ignorato.

DEBUG_SYMINFO_IMAGEHLP_MODULEW64

Indirizzo di base del modulo la cui descrizione viene richiesta.

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 include le seguenti interpretazioni a seconda del valore di Quale:

DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE

ID 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 dell'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 dell'enumerazione SymTagEnum definita in Dbghelp.h. Per altre informazioni, vedere la documentazione di PDB.

[out, optional] Buffer

Riceve le informazioni sul simbolo richiesto. Il tipo dei dati restituiti dipende dal valore di Quale. Se buffer è NULL, queste informazioni non vengono restituite.

[in] BufferSize

Specifica le dimensioni, in byte, del buffer.

[out, optional] InfoSize

Se questo metodo restituisce S_OK, InfoSize riceve le dimensioni, in byte, delle informazioni sul simbolo restituite nel buffer. Se questo metodo restituisce S_FALSE, il buffer fornito non è abbastanza 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 Quale. Se StringBuffer è NULL, queste informazioni non vengono restituite.

[in] StringBufferSize

Specifica le dimensioni, in caratteri, della stringa di buffer 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 altre informazioni, vedere Valori restituiti .

Codice restituito Descrizione
S_OK
Il metodo è stato eseguito correttamente.
S_FALSE
Il metodo è stato eseguito correttamente. Tuttavia, le informazioni non si adattano al buffer buffer o la stringa non si adatta al buffer StringBuffer, quindi le informazioni o il nome sono stati troncati.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione dbgeng.h (includere Dbgeng.h)