Condividi tramite


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.

Eredità

IDataModelScriptDebugStack eredita da IUnknown.

Metodi

L'interfaccia IDataModelScriptDebugStack dispone di 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 .

Osservazioni

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 su un'interfaccia di debug di uno script specifico deve restituire solo il segmento dello stack di chiamate all'interno dei limiti dello script. È del tutto 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 questa situazione può essere rilevata, lo stack frame che rappresenta il frame limite nello script deve contrassegnarsi come frame di transizione tramite un'implementazione dei metodi IsTransitionPoint e GetTransition su tale stack frame. È previsto che l'interfaccia del debugger unisce lo stack complessivo dai più segmenti di 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 al contesto di script errato. Ciò comporterà un comportamento non definito nell'interfaccia del debugger.

Fabbisogno

Requisito Valore
intestazione dbgmodel.h

Vedere anche

Panoramica del modello di dati del debugger di C++