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 |