IDataModelScriptDebug interface (dbgmodel.h)

The core interface that a script provider must provide in order to make a script debuggable. The implementation class of the IDataModelScript interface must QueryInterface for IDataModelScriptDebug if the script is debuggable.

Any script which is debuggable indicates this capability via the presence of the IDataModelScriptDebug interface on the same component which implements IDataModelScript. The query for this interface by the debug host or the debugger application hosting the data model is what indicates the presence of the debug capability.

Inheritance

IDataModelScriptDebug inherits from IUnknown.

Methods

The IDataModelScriptDebug interface has these methods.

 
IDataModelScriptDebug::AddRef

The IDataModelScriptDebug::AddRef method increments the reference count for an interface on an object.
IDataModelScriptDebug::EnumerateBreakpoints

The IDataModelScriptDebug::EnumerateBreakpoints method returns an enumerator capable of enumerating every breakpoint when a script debugger is enabled.
IDataModelScriptDebug::FindBreakpointById

Each breakpoint which is created within the script via the SetBreakpoint method is assigned a unique identifier (a 64-bit unsigned integer) by the implementation.
IDataModelScriptDebug::GetCurrentPosition

The IDataModelScriptDebug::GetCurrentPosition method returns the current break position in a script debugger session.
IDataModelScriptDebug::GetDebugState

The GetDebugState method returns the current state of the script (whether it is executing or not).
IDataModelScriptDebug::GetEventFilter

The IDataModelScriptDebug::GetEventFilter method returns whether break-on-event is enabled for a particular event.
IDataModelScriptDebug::GetStack

The IDataModelScriptDebug::GetStack method gets the current call stack at the break position in a script debugger session.
IDataModelScriptDebug::QueryInterface

The IDataModelScriptDebug::QueryInterface method retrieves pointers to the supported interfaces on an object.
IDataModelScriptDebug::Release

The IDataModelScriptDebug::Release method decrements the reference count for an interface on an object.
IDataModelScriptDebug::SetBreakpoint

The IDataModelScriptDebug::SetBreakpoint method sets a breakpoint within a script when a script debugger is enabled.
IDataModelScriptDebug::SetEventFilter

The IDataModelScriptDebug::SetEventFilter method changes the break-on-event behavior for a particular event.
IDataModelScriptDebug::StartDebugging

The IDataModelScriptDebug::StartDebugging method turns on the debugger for a particular script but does not begin execution break or stepping.
IDataModelScriptDebug::StopDebugging

The IDataModelScriptDebug::StopDebugging method stops debugging activity after the StartDebugging method was successfully called.

Remarks

The infrastructure for script providers in the data model also provides a concept around debugging scripts. Any script that wishes to expose debugging capabilities to the debug host and the debugger application hosting the data model can do so by having debuggable scripts implement the IDataModelScriptDebug interface in addition to the IDataModelScript interface. The presence of this interface on the script indicates to the infrastructure that it is debuggable.

While the IDataModelScriptDebug interface is the starting point to get access to the debug capabilities of a script provider, it is joined by a set of other interfaces in providing overall debug capabilities.

IDataModelScriptDebug

IDataModelScriptDebugClient

IDataModelScriptDebugStack

IDataModelScriptDebugStackFrame

IDataModelScriptDebugVariableSetEnumerator

IDataModelScriptDebugBreakpoint

IDataModelScriptDebugBreakpointEnumerator

Requirements

Requirement Value
Header dbgmodel.h

See also

Debugger Data Model C++ Overview