Partager via


WdbgExts Symbols

Cette rubrique fournit une brève vue d’ensemble de la façon dont les symboles peuvent être manipulés à l’aide de l’API WdbgExts. For an overview of using symbols in the debugger engine, see Symbols in the Debugger Engine Overview section of this documentation.

To evaluate a MASM or C++ expression, use the functions GetExpression or GetExpressionEx.

To read the value of a member in a structure, use the GetFieldData function or, if, the member contains a primitive value, GetFieldValue can be used. To determine the size of an instance of a symbol in the target's memory, use the GetTypeSize function.

To locate the offset of a member in a structure, use the GetFieldOffset function.

To read multiple members in a structure, first use the InitTypeRead function to initialize the structure. Then, you can use the ReadField function to read the members with size less than or equal to 8 bytes one at a time. For structure addresses in physical memory, use the InitTypeReadPhysical function instead of InitTypeRead.

Il existe deux fonctions que vous pouvez utiliser pour itérer sur des listes liées. For doubly-linked lists that use the LIST_ENTRY32 or LIST_ENTRY64 structures, the function ReadListEntry can be used to find the next and previous entries. The function ListType will iterate over all the entries in a linked list and call a callback function for each entry.

To locate a symbol near a specified address in the target's memory, use the GetSymbol function.

To delete all the symbol information from the debugger engine's cache, use the ReloadSymbols function. To read or change the symbol path, which is used to search for symbol files, use the GetSetSympath function.

Almost all symbol operations provided by the debugger engine can be executed using the Ioctl operation IG_DUMP_SYMBOL_INFO. Toutefois, tout en étant une fonction très flexible, elle est avancée et nous vous recommandons d’utiliser les fonctions plus simples ci-dessus le cas échéant.

informations supplémentaires

For a more powerful symbols API, see Using Symbols in the Using the Debugger Engine API section of this documentation.