4 Stimmen

Setzen eines Datenhaltepunkts in Visual Studio 2005 an der Adresse eines dereferenzierten Zeigers

Ich frage mich, ob es eine Möglichkeit gibt, das Folgende zu tun: Ich habe eine Struktur, die ein Mitglied enthält, das ein Zeiger auf einen vom Kernel zugewiesenen Speicherblock ist, wenn ich die Struktur an eine API-Funktion übergebe (die Struktur ist ein WAVEHDR, das Mitglied ist der reserviert Feld).

Ich kann einen Datenhaltepunkt auf den Wert des reservierten Elements setzen - das ist an sich nicht sehr hilfreich. Was ich tun möchte, wenn der Haltepunkt getroffen wird, ist, den Zeiger zu dereferenzieren, der in reserviert und setzen Sie einen neuen Datenhaltepunkt in dem Speicher, auf den dieser Zeiger zeigt. Ich möchte, dass VisualStudio unterbricht, wenn dieser Speicher auf einen bekannten Wert gesetzt wird.

Ich weiß, wie man einen Haltepunkt von einem Makro aus setzt und wie man Visual Studio dazu bringt, dieses Makro von einem Haltepunkt aus aufzurufen, wenn es getroffen wird, aber ich weiß nicht, ob ich den Zeigerwert an das Makro übergeben kann, damit es den Haltepunkt auf die richtige Adresse setzen kann. Die Benutzeroberfläche bietet keine Möglichkeit, dies zu tun.

Gibt es eine Möglichkeit für das Makro, auf Informationen über das laufende Programm zuzugreifen und Dinge wie die Auswertung globaler Variablen oder anderer Ausdrücke zu tun? Ich könnte erreichen, was ich zu tun versuche, wenn ich diese Art von programmatischem Zugriff auf den laufenden Code (während eines Haltepunkts) vom Makro aus hätte.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X