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.

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

Weitere Informationen

Debuggerdatenmodell C++-Übersicht