Types
Les informations de type du fichier de symboles d’un module sont identifiées par deux informations : un ID de type et l’adresse de base du module auquel le type appartient. Les méthodes suivantes peuvent être utilisées pour rechercher un ID de type :
GetTypeId retourne l’ID de type pour un nom de type donné.
GetSymbolTypeId retourne l’ID de type du type d’un symbole portant le nom donné.
GetOffsetTypeId retourne l’ID de type du symbole trouvé à l’emplacement donné.
Le nom et la taille d’un type sont retournés respectivement par GetTypeName et GetTypeSize.
Les méthodes pratiques suivantes peuvent être utilisées pour lire et écrire des données typées dans la mémoire physique et virtuelle de la cible :
Impression de données typées
Pour mettre en forme des données typées et les envoyer aux rappels de sortie, utilisez OutputTypedDataPhysical et OutputTypedDataVirtual pour les données dans la mémoire physique et virtuelle de la cible respectivement.
Les options de type décrites dans DEBUG_TYPEOPTS_XXX affectent la façon dont le moteur met en forme les données typées avant de les envoyer aux rappels de sortie.
Les options de type peuvent être activées à l’aide de AddTypeOptions et désactivées à l’aide de RemoveTypeOptions.
GetTypeOptions retourne les options de type actuelles. Pour définir toutes les options de type en même temps, utilisez SetTypeOptions.
Interprétation de données brutes à l’aide d’informations de type
L’API du moteur de débogueur prend en charge l’interprétation des données typées. Cela permet de parcourir les hiérarchies d’objets sur la cible, notamment la recherche de membres de structures, le déréférencement des pointeurs et la localisation d’éléments de tableau.
Les données typées sont décrites par des instances de la structure DEBUG_TYPED_DATA et représentent les régions de mémoire sur la cast cible en un type particulier. L’opérationde requête DEBUG_REQUEST_EXT_TYPED_DATA_ANSI est utilisée pour manipuler ces instances. Elles peuvent être initialisées dans le résultat d’expressions ou en cassant des régions de mémoire dans un type spécifié. Pour obtenir la liste de toutes les sous-opérations que l’opération de demande de DEBUG_REQUEST_EXT_TYPED_DATA_ANSI prend en charge, consultez EXT_TDOP.
Informations supplémentaires
Pour plus d’informations sur les rappels de sortie, consultez Entrée et Sortie.