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 |