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.
Vererbung
IDataModelScriptDebugStack erbt von IUnknown.
Methoden
Die IDataModelScriptDebugStack-Schnittstelle verfügt über 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 Stapelrahmen in diesem Segment des Aufrufstapels zurück. |
IDataModelScriptDebugStack::GetStackFrame Der GetStackFrame ruft einen bestimmten Stapelrahmen 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 Verweisanzahl für eine Schnittstelle für ein Objekt. |
Hinweise
Wenn ein Ereignis auftritt, das in den Skriptdebugger einbricht, möchte die Debugschnittstelle den Aufrufstapel für den Unterbrechungsort abrufen. Dies erfolgt über die GetStack-Methode. Ein solcher Stapel wird über den IDataModelScriptDebugStack ausgedrückt, der 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 auf der Debugschnittstelle eines bestimmten Skripts zurückgegeben wird, sollte nur das Segment des Aufrufstapels innerhalb der Grenzen dieses Skripts zurückgeben. Es ist durchaus möglich, dass eine Skriptdebug-Engine den Aufrufstapel abrufen kann, der sich über mehrere Skriptkontexte erstreckt, 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 sich der Stapelrahmen, bei dem es sich um den Begrenzungsrahmen im Skript handelt, über eine Implementierung der Methoden IsTransitionPoint und GetTransition in diesem Stapelrahmen als Übergangsframe markieren. Es wird erwartet, dass die Debuggerschnittstelle den gesamtstapel aus den vorhandenen Stapelsegmenten zusammenfügt.
Übergänge müssen unbedingt auf diese Weise implementiert werden, oder die Debugschnittstelle leitet Anfragen zu lokalen Variablen, Parametern, Haltepunkten und anderen skriptspezifischen Konstrukten an den falschen Skriptkontext weiter. Dies führt zu undefiniertem Verhalten in der Debuggerschnittstelle.
Anforderungen
Anforderung | Wert |
---|---|
Header | dbgmodel.h |