Interfaccia IDataModelScriptDebugStack (dbgmodel.h)

Interfaccia di uno stack nello script. Il provider di script implementa questa interfaccia per esporre la nozione di stack di chiamate al debugger di script.

Ereditarietà

IDataModelScriptDebugStack eredita da IUnknown.

Metodi

L'interfaccia IDataModelScriptDebugStack include questi metodi.

 
IDataModelScriptDebugStack::AddRef

Il metodo IDataModelScriptDebugStack::AddRef incrementa il conteggio dei riferimenti per un'interfaccia in un oggetto .
IDataModelScriptDebugStack::GetFrameCount

Il metodo GetFrameCount restituisce il numero di stack frame in questo segmento dello stack di chiamate.
IDataModelScriptDebugStack::GetStackFrame

GetStackFrame ottiene un particolare stack frame dal segmento dello stack.
IDataModelScriptDebugStack::QueryInterface

Il metodo IDataModelScriptDebugStack::QueryInterface recupera i puntatori alle interfacce supportate in un oggetto .
IDataModelScriptDebugStack::Release

Il metodo IDataModelScriptDebugStack::Release decrementa il conteggio dei riferimenti per un'interfaccia in un oggetto .

Commenti

Quando si verifica un evento che si interrompe nel debugger di script, l'interfaccia di debug vuole recuperare lo stack di chiamate per il percorso di interruzione. Questa operazione viene eseguita tramite il metodo GetStack. Tale stack viene espresso tramite IDataModelScriptDebugStack, definito come indicato di seguito.

Si noti che lo stack complessivo può estendersi su più script e/o più provider di script. Lo stack di chiamate restituito da una singola chiamata al metodo GetStack in un'interfaccia di debug di uno script specifico deve restituire solo il segmento dello stack di chiamate all'interno dei limiti dello script. È possibile che un motore di debug di script possa recuperare lo stack di chiamate come si estende su più contesti di script se due script dello stesso provider interagiscono. Il metodo GetStack non deve restituire la parte dello stack che si trova in un altro script. Se invece è possibile rilevare questa situazione, lo stack frame che rappresenta il frame di limite nello script deve contrassegnarsi come frame di transizione tramite un'implementazione dei metodi IsTransitionPoint e GetTransition in tale stack frame. È previsto che l'interfaccia del debugger unisce lo stack complessivo dai più segmenti dello stack esistenti.

È fondamentale implementare le transizioni in questo modo o l'interfaccia di debug può indirizzare richieste su variabili locali, parametri, punti di interruzione e altri costrutti specifici dello script nel contesto di script errato. Ciò comporterà un comportamento non definito nell'interfaccia del debugger.

Requisiti

Requisito Valore
Intestazione dbgmodel.h

Vedi anche

Panoramica del modello di dati del debugger C++