Compartir a través de


Interfaz IDataModelScriptDebugStack (dbgmodel.h)

Interfaz de una pila en el script. El proveedor de scripts implementa esta interfaz para exponer la noción de una pila de llamadas al depurador de scripts.

Herencia

IDataModelScriptDebugStack hereda de IUnknown.

Métodos

La interfaz IDataModelScriptDebugStack tiene estos métodos.

 
IDataModelScriptDebugStack::AddRef

El método IDataModelScriptDebugStack::AddRef incrementa el recuento de referencias de una interfaz en un objeto.
IDataModelScriptDebugStack::GetFrameCount

El método GetFrameCount devuelve el número de marcos de pila de este segmento de la pila de llamadas.
IDataModelScriptDebugStack::GetStackFrame

GetStackFrame obtiene un marco de pila determinado del segmento de pila.
IDataModelScriptDebugStack::QueryInterface

El método IDataModelScriptDebugStack::QueryInterface recupera punteros a las interfaces admitidas en un objeto .
IDataModelScriptDebugStack::Release

El método IDataModelScriptDebugStack::Release disminuye el recuento de referencias de una interfaz en un objeto .

Comentarios

Cuando se produce un evento que se interrumpe en el depurador de scripts, la interfaz de depuración querrá recuperar la pila de llamadas para la ubicación de interrupción. Esto se realiza a través del método GetStack. Dicha pila se expresa a través de IDataModelScriptDebugStack, que se define como se indica a continuación.

Tenga en cuenta que la pila general puede abarcar varios scripts o varios proveedores de scripts. La pila de llamadas que se devuelve de una sola llamada al método GetStack en la interfaz de depuración de un script determinado solo debe devolver el segmento de la pila de llamadas dentro de los límites de ese script. Es totalmente posible que un motor de depuración de scripts pueda recuperar la pila de llamadas como abarca varios contextos de script si dos scripts del mismo proveedor interactúan. El método GetStack no debe devolver la parte de la pila que se encuentra en otro script. En su lugar, si se puede detectar esta situación, el marco de pila que es el marco de límite en el script debe marcarse como un marco de transición a través de una implementación de los métodos IsTransitionPoint y GetTransition en ese marco de pila. Se espera que la interfaz del depurador reúna la pila general de los varios segmentos de pila que existen.

Es imperativo que las transiciones se implementen de esta manera o que la interfaz de depuración pueda dirigir consultas sobre variables locales, parámetros, puntos de interrupción y otras construcciones específicas del script en el contexto de script incorrecto. Esto dará como resultado un comportamiento indefinido en la interfaz del depurador.

Requisitos

Requisito Valor
Header dbgmodel.h

Consulte también

Información general sobre el modelo de datos del depurador de C++