Freigeben über


Typen

Typinformationen aus der Symboldatei eines Moduls werden durch zwei Informationen identifiziert: eine Typ-ID und die Basisadresse des Moduls, zu dem der Typ gehört. Die folgenden Methoden können verwendet werden, um eine Typ-ID zu finden:

  • GetTypeId gibt die Typ-ID für einen angegebenen Typnamen zurück.

  • GetSymbolTypeId gibt die Typ-ID für den Typ eines Symbols mit dem angegebenen Namen zurück.

  • GetOffsetTypeId gibt die Typ-ID für das Symbol zurück, das am angegebenen Speicherort gefunden wurde.

Der Name und die Größe eines Typs werden von GetTypeName bzw . GetTypeSize zurückgegeben.

Die folgenden praktischen Methoden können zum Lesen und Schreiben von typisierten Daten im physischen und virtuellen Speicher des Ziels verwendet werden:

ReadTypedDataPhysical

WriteTypedDataPhysical

ReadTypedDataVirtual

WriteTypedDataVirtual

Drucken von typisierten Daten

Um typisierte Daten zu formatieren und an die Ausgaberückrufe zu senden, verwenden Sie OutputTypedDataPhysical und OutputTypedDataVirtual für Daten im physischen bzw. virtuellen Speicher des Ziels.

Die in DEBUG_TYPEOPTS_XXX beschriebenen Typoptionen beeinflussen, wie die Engine typisierte Daten vor dem Senden an die Ausgaberückrufe formatiert.

Die Typoptionen können mithilfe von AddTypeOptions aktiviert und mithilfe von RemoveTypeOptions deaktiviert werden.

GetTypeOptions gibt die aktuellen Typoptionen zurück. Um alle Typoptionen gleichzeitig festzulegen, verwenden Sie SetTypeOptions.

Interpretieren von Rohdaten mithilfe von Typinformationen

Die Debugger-Engine-API unterstützt das Interpretieren typisierter Daten. Dies bietet eine Möglichkeit, Objekthierarchien auf dem Ziel zu durchlaufen, einschließlich der Suche nach Elementen von Strukturen, Dereferenzieren von Zeigern und Suchen von Arrayelementen.

Typisierte Daten werden durch Instanzen der DEBUG_TYPED_DATA-Struktur beschrieben und stellen Bereiche des Arbeitsspeichers im Ziel dar, der in einen bestimmten Typ umgewandelt wird. Der DEBUG_REQUEST_EXT_TYPED_DATA_ANSIRequest-Vorgang wird verwendet, um diese Instanzen zu bearbeiten. Sie können mit dem Ergebnis von Ausdrücken oder durch Umwandlung von Speicherbereichen in einen angegebenen Typ initialisiert werden. Eine Liste aller Untervorgänge, die vom DEBUG_REQUEST_EXT_TYPED_DATA_ANSI Request-Vorgang unterstützt werden, finden Sie unter EXT_TDOP.

Zusätzliche Informationen

Ausführliche Informationen zu Ausgaberückrufen finden Sie unter Eingabe und Ausgabe.