dbgmodel.h header

This header is used to create debugger data model apps. For more information, see:

dbgmodel.h contains the following programming interfaces:

Interfaces

 
IComparableConcept

The IComparableConcept interface compares this object to another object of arbitrary type. E_NOT_SET is returned if the comparison cannot be performed.
IDataModelConcept

Any object which represents a data model which is registered under a name or is registered for a particular type signature must implement this concept and add it to the data model object via IModelObject::SetConcept.
IDataModelManager

The core interface for the data model manager. This is the interface by which new objects are created, intrinsic values are boxed and unboxed, and models are registered for types.
IDataModelManager2

The second version of the interface for the data model manager. This is the interface by which new objects are created, intrinsic values are boxed and unboxed, and models are registered for types.
IDataModelNameBinder

Interface to a name binder – a component which can associate names in a context with objects or symbols.
IDataModelScript

An abstraction of a particular script which is being managed by the provider. Each script which is loaded or being edited has a separate IDataModelScript instance.
IDataModelScriptClient

Interface a component directly using debugger script must implement as a multi-way communication channel with the script.
IDataModelScriptDebug

The core interface that a script provider must provide in order to make a script debuggable.
IDataModelScriptDebug2

An optional interface on scripts (objects which implement IDataModelScript).
IDataModelScriptDebugBreakpoint

An interface to a breakpoint on the script.
IDataModelScriptDebugBreakpointEnumerator

An enumerator of breakpoints within the script.
IDataModelScriptDebugClient

The client of the script debugger implements this interface as a part of a two-way communication channel with the script debugger.
IDataModelScriptDebugStack

An interface to a stack in the script. The script provider implements this interface to expose the notion of a call stack to the script debugger.
IDataModelScriptDebugStackFrame

An interface to a stack frame in the script. The script provider implements this interface to expose the notion of a particular stack frame within the call stack.
IDataModelScriptDebugVariableSetEnumerator

Enumerates a set of variables (arguments, parameters, locals, etc...)
IDataModelScriptHostContext

Implemented by the underlying host debugger, represents information about where the debug host is bridging the script.
IDataModelScriptManager

The core interface to the script management capabilities of the data model manager. Queried from the data model manager.
IDataModelScriptProvider

Any script provider implementing a bridge between a dynamic language and the data model must implement this interface to represent the provider.
IDataModelScriptProviderEnumerator

An enumerator which returns a set of known script providers.
IDataModelScriptTemplate

Any script provider wanting to have pre-filled template content implements this interface per template.
IDataModelScriptTemplateEnumerator

An enumerator which enumerates an available set of script templates.
IDebugHost

The core interface to the underlying debugger.
IDebugHostBaseClass

An (IDebugHostSymbol derived) interface to a base class.
IDebugHostConstant

Represents a constant within symbolic information (a non-type template argument in C++).
IDebugHostContext

Represents a context of the debugger answers questions about (what session, process, thread).
IDebugHostData

An (IDebugHostSymbol derived) interface to data.
IDebugHostErrorSink

An interface to which errors will be sinked.
IDebugHostEvaluator

The IDebugHostEvaluator (dbgmodel.h) interface provides access to the language based expression evaluator in the underlying debugger.
IDebugHostEvaluator2

The IDebugHostEvaluator2 (dbgmodel.h) interface provides access to the language based expression evaluator in the underlying debugger.
IDebugHostExtensibility

The extensibility interface to the underlying debugger.
IDebugHostField

Represents a field within a structure or class.
IDebugHostMemory

The IDebugHostMemory (dbgmodel.h) interface defines methods that provide memory access to the underlying debugger.
IDebugHostMemory2

The IDebugHostMemory2 (dbgmodel.h) interface defines methods that provide memory access to the underlying debugger.
IDebugHostModule

The IDebugHostModule (dbgmodel.h) interface is an IDebugHostSymbol derived interface that provides access to a particular module.
IDebugHostModule2

The IDebugHostModule2 (dbgmodel.h) interface is an IDebugHostSymbol derived interface that provides access to a particular module.
IDebugHostModuleSignature

Represents a module signature -- a definition which will match a set of modules by name and/or version.
IDebugHostPublic

An (IDebugHostSymbol derived) interface to a public symbol (address/name only).
IDebugHostScriptHost

An interface which the underlying debugger host must implement in order to manage data model scripts.
IDebugHostStatus

An interface allowing a client to query for the status of the host.
IDebugHostSymbol

The IDebugHostSymbol (dbgmodel.h) interface defines methods that provide access to a particular symbol.
IDebugHostSymbol2

The IDebugHostSymbol2 (dbgmodel.h) interface defines methods that provide access to a particular symbol.
IDebugHostSymbolEnumerator

An enumerator which runs through children of a symbol.
IDebugHostSymbols

The symbols interface to the underlying debugger.
IDebugHostType

The IDebugHostType (dbgmodel.h) interface is an IDebugHostSymbol derived interface that provides access to a particular type.
IDebugHostType2

The IDebugHostType2 (dbgmodel.h) interface is an IDebugHostSymbol derived interface that provides access to a particular type.
IDebugHostTypeSignature

Represents a type signature against which type instances can be matched.
IDynamicConceptProviderConcept

The IDynamicConceptProviderConcept (dbgmodel.h) interface provides methods that allow a client to take over the storage of keys and values for an object.
IDynamicKeyProviderConcept

The IDynamicKeyProviderConcept (dbgmodel.h) interface provides methods that allow a client to take over the storage of keys and values for an object.
IEquatableConcept

Supports the ability to compare this object to another (of arbitrary type) for equality.
IHostDataModelAccess

IHostDataModelAccess is the bridge interface between the legacy IDebug* interfaces of Debugging Tools for Windows and the data model.
IIndexableConcept

Any object which is a container that supports random access retrieval of elements from given N-dimensional indexers implements IIndexableConcept.
IIterableConcept

The object is a container and can be iterated.
IKeyEnumerator

An enumerator which runs through keys on an object.
IKeyStore

A key/value store. Typically used for metadata.
IModelIterator

An iterator of contained objects (client implemented and returned by IIterableConcept).
IModelKeyReference

The IModelKeyReference (dbgmodel.h) interface defines methods that provide a reference to a key on a data model object.
IModelKeyReference2

The IModelKeyReference2 (dbgmodel.h) interface defines methods that provide a reference to a key on a data model object.
IModelMethod

Represents a method which can be called.
IModelObject

The IModelObject interface encapsulates the notion of an object -- whether that object is an integer, a string, some complex type in the target address space of the debugger.
IModelPropertyAccessor

The data model representation of a property accessor (get/set).
IPreferredRuntimeTypeConcept

Interface which clients can implement if they can provide better dynamic runtime type analysis for a given type than the debugger can acquire through RTTI or v-table analysis.
IRawEnumerator

An interface which enumerates the raw children (base classes, fields, etc...) of an object (and their values and associated metadata).
IStringDisplayableConcept

Interface which clients must implement on any object which is convertible to a display string.

Functions

 
BindProperty

A binder which converts two instance methods on a class to a read/write property accessor.
BindProperty

A binder which converts two lambdas to a read/write property accessor.
BindReadOnlyProperty

A binder which converts an instance methods on a class to a read only property accessor.
BindReadOnlyProperty

TA binder which converts one instance method on a class to a read-only property accessor.
ConvertException

Trap and convert all exceptions coming out of a functor to an appropriate HRESULT.
CreateDataModelManager

The initial call a host performs to create and initialize the data model.

Structures

 
ArrayDimension

Defines the memory layout of one dimension of an array.
Location

Defines the location for an object. This particular variant of Location is the C-COM access struct.
ScriptDebugEventInformation

A struct containing information about a particular debug event.
ScriptDebugPosition

Defines a position within a script.
SymbolSearchInfo

The SymbolSearchInfo (dbgmodel.h) structure contains a search record that is passed to EnumerateChildrenEx in order to restrict symbol searches.
TypeSearchInfo

The TypeSearchInfo (dbgmodel.h) structure contains a search record passed to EnumerateChildrenEx specifically for SymbolType searches.

Enumerations

 
CallingConventionKind

Defines the kind of calling convention of a function type.
ErrorClass

Defines the class of error which is being reported to the host.
IntrinsicKind

Defines the kind of an intrinsic (basic) type. This is distinct from the variant type which carries the type.
LanguageKind

Identifies the language of the compiland containing a given symbol.
LocationKind

Defines the location of a field or other data.
ModelObjectKind

Describes what an IModelObject is intrinsically.
PointerKind

Learn more about: PointerKind enumeration
PreferredFormat

Predefined values of the "PreferredFormat" key which may appear as the metadata on a returned key value.
RawSearchFlags

Flags to GetRawValue/EnumerateRawValues.
ScriptChangeKind

Indicates the type of notification firing to the host.
ScriptDebugEvent

The ScriptDebugEvent (dbgmodel.h) enumeration defines values that indicate the type of debug event that has occurred.
ScriptDebugEventFilter

The ScriptDebugEventFilter (dbgmodel.h) enumeration defines the set of debug events or exceptions which the script debugger can, potentially, auto-break on.
ScriptDebugState

Defines the current debugging state of a script.
ScriptExecutionKind

Defines the kind of execution to do.
SignatureComparison

Describes how a type or two signatures compare.
SymbolKind

Defines the kind of a symbol.
SymbolSearchOptions

Symbols search options.
TypeKind

Defines the kind of a type.
VarArgsKind

Defines the style of variable arguments that a function definition takes.