Partager via


IDebugAdvanced3 ::GetSymbolInformation, méthode (dbgeng.h)

La méthode GetSymbolInformation retourne des informations spécifiées sur un symbole.

Syntaxe

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
);

Paramètres

[in] Which

Spécifie l’élément d’informations à retourner. Qui peut prendre l’une des valeurs du tableau suivant.

Valeur Informations retournées
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE Retourne le nom du fichier de code source et le numéro de ligne pour un point d’arrêt spécifié. Le numéro de ligne est retourné à La mémoire tampon en tant que ULONG. Le nom de fichier est retourné à StringBuffer.
DEBUG_SYMINFO_IMAGEHLP_MODULEW64 Retourne une structure IMAGEHLP_MODULEW64 qui décrit un module spécifié. Pour plus d’informations sur cette structure, consultez la rubrique IMAGEHLP_MODULE64 dans la documentation de la bibliothèque d’aide de débogage (dbghelp.chm).

Aucune chaîne n’est retournée et StringBuffer, StringBufferSize et StringSize doivent tous avoir la valeur zéro.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE Retourne le nom Unicode du symbole spécifié par emplacement dans la mémoire et le type de balise PDB. Le nom est retourné à Buffer. StringBuffer n’est pas utilisé.
DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS Retourne une liste de noms de symboles et de décalages pour les symboles dans le module spécifié avec le type de balise PDB spécifié. Les décalages sont retournés sous la forme d’un tableau de valeurs ULONG à Buffer. Les noms sont retournés dans le même ordre que les décalages vers StringBuffer. Certains noms peuvent contenir des zéros incorporés, car les annotations peuvent avoir des noms en plusieurs parties ; par conséquent, chaque nom se termine par deux caractères Null.

[in] Arg64

Spécifie un argument 64 bits. Ce paramètre a les interprétations suivantes en fonction de la valeur de Which :

DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE

Ignoré.

DEBUG_SYMINFO_IMAGEHLP_MODULEW64

Adresse de base du module dont la description est demandée.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE

Spécifie l’adresse dans la mémoire de la cible du symbole dont le nom est demandé.

DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS

Spécifie le module dont les symboles sont demandés. Arg64 est un emplacement dans l’allocation de mémoire du module.

[in] Arg32

Spécifie un argument 32 bits. Ce paramètre a les interprétations suivantes en fonction de la valeur de Which :

DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE

ID du point d’arrêt du moteur du point d’arrêt souhaité.

DEBUG_SYMINFO_IMAGEHLP_MODULEW64

Définit la valeur zéro.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE

Classification PDB du symbole. Arg32 doit être l’une des valeurs de l’énumération SymTagEnum définie dans Dbghelp.h. Pour plus d’informations, consultez la documentation PDB.

DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS

Classification PDB du symbole. Arg32 doit être l’une des valeurs de l’énumération SymTagEnum définie dans Dbghelp.h. Pour plus d’informations, consultez la documentation PDB.

[out, optional] Buffer

Reçoit les informations de symbole demandées. Le type des données retournées dépend de la valeur de Qui. Si Buffer a la valeur NULL, ces informations ne sont pas retournées.

[in] BufferSize

Spécifie la taille, en octets, de la mémoire tampon.

[out, optional] InfoSize

Si cette méthode retourne S_OK, InfoSize reçoit la taille, en octets, des informations de symbole retournées à Buffer. Si cette méthode retourne S_FALSE, la mémoire tampon fournie n’est pas assez grande et InfoSize reçoit la taille de mémoire tampon requise. Si InfoSize a la valeur NULL, ces informations ne sont pas retournées.

[out, optional] StringBuffer

Reçoit la chaîne demandée. L’interprétation de cette chaîne dépend de la valeur de Which. Si StringBuffer a la valeur NULL, ces informations ne sont pas retournées.

[in] StringBufferSize

Spécifie la taille, en caractères, de la mémoire tampon de chaîne StringBuffer.

[out, optional] StringSize

Reçoit la taille, en caractères, de la chaîne retournée à StringBuffer. Si StringSize a la valeur NULL, ces informations ne sont pas retournées.

Valeur retournée

Cette méthode peut également retourner des valeurs d’erreur. Pour plus d’informations, consultez Valeurs de retour.

Code de retour Description
S_OK
La méthode a réussi.
S_FALSE
La méthode a réussi. Toutefois, les informations ne tiennent pas dans la mémoire tampon ou la chaîne ne tient pas dans la mémoire tampon StringBuffer, de sorte que les informations ou le nom ont été tronqués.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête dbgeng.h (inclure Dbgeng.h)