Compartilhar via


Interface IDataModelScriptDebugStack (dbgmodel.h)

Uma interface para uma pilha no script. O provedor de script implementa essa interface para expor a noção de uma pilha de chamadas ao depurador de script.

Herança

IDataModelScriptDebugStack herda de IUnknown.

Métodos

A interface IDataModelScriptDebugStack tem esses métodos.

 
IDataModelScriptDebugStack::AddRef

O método IDataModelScriptDebugStack::AddRef incrementa a contagem de referência para uma interface em um objeto .
IDataModelScriptDebugStack::GetFrameCount

O método GetFrameCount retorna o número de quadros de pilha neste segmento da pilha de chamadas.
IDataModelScriptDebugStack::GetStackFrame

O GetStackFrame obtém um quadro de pilha específico do segmento de pilha.
IDataModelScriptDebugStack::QueryInterface

O método IDataModelScriptDebugStack::QueryInterface recupera ponteiros para as interfaces com suporte em um objeto .
IDataModelScriptDebugStack::Release

O método IDataModelScriptDebugStack::Release diminui a contagem de referência de uma interface em um objeto .

Comentários

Quando ocorrer um evento que interrompa o depurador de script, a interface de depuração desejará recuperar a pilha de chamadas para o local de interrupção. Isso é feito por meio do método GetStack. Essa pilha é expressa por meio do IDataModelScriptDebugStack, que é definido conforme indicado abaixo.

Observe que a pilha geral pode abranger vários scripts e/ou vários provedores de script. A pilha de chamadas retornada de uma única chamada para o método GetStack na interface de depuração de um script específico deve retornar apenas o segmento da pilha de chamadas dentro dos limites desse script. É totalmente possível que um mecanismo de depuração de script possa recuperar a pilha de chamadas, pois abrange vários contextos de script se dois scripts do mesmo provedor interagirem. O método GetStack não deve retornar a parte da pilha que está em outro script. Em vez disso, se essa situação puder ser detectada, o quadro de pilha que é o quadro de limite no script deverá marcar-se como um quadro de transição por meio de uma implementação dos métodos IsTransitionPoint e GetTransition nesse quadro de pilha. Espera-se que a interface do depurador una a pilha geral dos vários segmentos de pilha existentes.

É imperativo que as transições sejam implementadas dessa maneira ou a interface de depuração possa direcionar consultas sobre variáveis locais, parâmetros, pontos de interrupção e outros constructos específicos de script para o contexto de script errado. Isso resultará em um comportamento indefinido na interface do depurador.

Requisitos

Requisito Valor
Cabeçalho dbgmodel.h

Confira também

Visão geral do modelo de dados do depurador C++