Freigeben über


IDataModelScriptDebugStack-Schnittstelle (dbgmodel.h)

Eine Schnittstelle zu einem Stapel im Skript. Der Skriptanbieter implementiert diese Schnittstelle, um den Begriff eines Aufrufstapels für den Skriptdebugger verfügbar zu machen.

Erbschaft

IDataModelScriptDebugStack erbt von IUnknown.

Methodik

Die IDataModelScriptDebugStack Schnittstelle hat diese Methoden.

 
IDataModelScriptDebugStack::AddRef

Die IDataModelScriptDebugStack::AddRef-Methode erhöht die Verweisanzahl für eine Schnittstelle für ein Objekt.
IDataModelScriptDebugStack::GetFrameCount

Die GetFrameCount-Methode gibt die Anzahl der Stapelframes in diesem Segment des Aufrufstapels zurück.
IDataModelScriptDebugStack::GetStackFrame

Der GetStackFrame ruft einen bestimmten Stapelframe aus dem Stapelsegment ab.
IDataModelScriptDebugStack::QueryInterface

Die IDataModelScriptDebugStack::QueryInterface-Methode ruft Zeiger auf die unterstützten Schnittstellen für ein Objekt ab.
IDataModelScriptDebugStack::Release

Die IDataModelScriptDebugStack::Release-Methode erhöht die Referenzanzahl für eine Schnittstelle eines Objekts.

Bemerkungen

Wenn ein Ereignis auftritt, das in den Skriptdebugger wechselt, möchte die Debugschnittstelle den Aufrufstapel für den Unterbrechungsort abrufen. Dies erfolgt über die GetStack-Methode. Dieser Stapel wird über das IDataModelScriptDebugStack ausgedrückt, das wie unten angegeben definiert ist.

Beachten Sie, dass der Gesamtstapel mehrere Skripts und/oder mehrere Skriptanbieter umfassen kann. Der Aufrufstapel, der von einem einzelnen Aufruf der GetStack-Methode für die Debugschnittstelle eines bestimmten Skripts zurückgegeben wird, sollte nur das Segment des Aufrufstapels innerhalb der Grenzen dieses Skripts zurückgeben. Es ist völlig möglich, dass ein Skriptdebugmodul den Aufrufstapel abrufen kann, wenn zwei Skripts desselben Anbieters interagieren. Die GetStack-Methode sollte nicht den Teil des Stapels zurückgeben, der sich in einem anderen Skript befindet. Wenn diese Situation erkannt werden kann, sollte der Stapelframe, der den Begrenzungsrahmen in das Skript darstellt, über eine Implementierung der Methoden IsTransitionPoint und GetTransition in diesem Stapelframe als Übergangsframe kennzeichnen. Es wird erwartet, dass die Debuggerschnittstelle den Gesamtstapel aus den mehreren Stapelsegmenten zusammenfügt, die vorhanden sind.

Es ist zwingend erforderlich, dass Übergänge auf diese Weise implementiert werden, oder die Debugschnittstelle kann Anfragen zu lokalen Variablen, Parametern, Haltepunkten und anderen skriptspezifischen Konstrukten an den falschen Skriptkontext weiterleiten. Dies führt zu einem nicht definierten Verhalten in der Debuggerschnittstelle.

Anforderungen

Anforderung Wert
Header- dbgmodel.h

Siehe auch

Debuggerdatenmodell C++-Übersicht