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

 
IActionableConcept

A concept mechanism for implementing actions. Clients may choose to either implement this interface or place appropriate metadata on effective void(void) methods. (dbgmodel.h)
IActionEnumerator

An enumerator for actions on an object. (dbgmodel.h)
IActionQueryConcept

A concept which is automatically implemented by the data model for any object which has (or can have) actions on it. (dbgmodel.h)
ICodeAddressConcept

The ICodeAddressConcept allows the the use of a code address model that is code addressable. (dbgmodel.h)
IComparableConcept

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

A concept that a data model can support in order to allow for construction of the object. (dbgmodel.h)
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.
IDataModelManager3

The third 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. (dbgmodel.h)
IDataModelManager4

The fourth 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. (dbgmodel.h)
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.
IDataModelScript2

This is the second version of the core script interface. (dbgmodel.h)
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.
IDebugHostBaseClass2

The second version of an extended specialization of IDebugHostSymbol which represents a base class. (dbgmodel.h)
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). (dbgmodel.h)
IDebugHostContext2

Represents a context of the debugger answers questions about (what session, process, thread). Version 2. (dbgmodel.h)
IDebugHostContextAlternator

This dbgmodel.h interface allows to change the "current" context (the internal state) of the debugger (IDebugHostContext).
IDebugHostContextControl

This dbgmodel.h interface allows to change the "current" context (the internal state) of the debugger (IDebugHostContext).
IDebugHostContextExtensibility

An OPTIONAL dbgmodel.h interface for hosts to support that allows certain extensions.
IDebugHostContextExtension

An optional dbgmodel interface on host contexts that allows for extensibility based modification.
IDebugHostContextTargetComposition

An interface which bridges the extensibility of the upper edge interfaces (the data model) with those of the lower edge (target composition) for a particular host context.
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.
IDebugHostEvaluator3

The version 3 expression evaluator interface to the underlying debugger. (dbgmodel.h)
IDebugHostExtensibility

The extensibility interface to the underlying debugger.
IDebugHostExtensibility2

The version 2 of the extensibility interface to the underlying debugger. (dbgmodel.h)
IDebugHostExtensibility3

The version 3 of the extensibility interface to the underlying debugger. (dbgmodel.h)
IDebugHostField

Represents a field within a structure or class.
IDebugHostField2

Version 2 of IDebugHostField, which is a specialization of IDebugHostSymbol, which represents a field of a class or struct. (dbgmodel.h)
IDebugHostFunctionIntrospection

A host optional interface which provides detailed information about a function. (dbgmodel.h)
IDebugHostFunctionIntrospection2

The version 2 of a host optional interface which provides detailed information about a function. (dbgmodel.h)
IDebugHostFunctionIntrospection3

The version 3 of a host optional interface which provides detailed information about a function. (dbgmodel.h)
IDebugHostFunctionLocalDetails

A host optional interface which provides details about a function local variable. (dbgmodel.h)
IDebugHostFunctionLocalDetails2

The version 2 of a host optional interface which provides details about a function local variable. (dbgmodel.h)
IDebugHostFunctionLocalDetailsEnumerator

A host optional dbgmodel.h interface which enumerates locals & arguments of a function and provides details about their backing storage and types.
IDebugHostFunctionLocalStorage

Optional introspection interfaces that defines where a local is stored. (dbgmodel.h)
IDebugHostFunctionLocalStorage2

The version 2 of an optional introspection interface that defines where a local is stored. (dbgmodel.h)
IDebugHostFunctionLocalStorageEnumerator

IDebugHostFunctionLocalStorageEnumerator provides an interface to storage for the local (what registers or memory locations. (dbgmodel.h)
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.
IDebugHostMemory3

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

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

The IDebugHostMemory5 (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.
IDebugHostModule3

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

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

The IDebugHostModule5 (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.
IDebugHostStatus2

The version 2 of an interface allowing a client to query for the status of the host. (dbgmodel.h)
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.
IDebugHostSymbol3

The IDebugHostSymbol3(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.
IDebugHostSymbols2

Version 2 of the symbols interface to the underlying debugger. (dbgmodel.h)
IDebugHostSymbolsTargetComposition

IDebugHostSymbolsTargetComposition provides interfaces which bridges the extensibility of the upper edge interfaces (the data model) with those of the lower edge (target composition) for symbols. (dbgmodel.h)
IDebugHostSymbolSubstitutionEnumerator

An interface for enumerating symbols with substitution text. (dbgmodel.h)
IDebugHostTaggedUnionRangeEnumerator

IDebugHostTaggedUnionRangeEnumerator enumerates a set of tag ranges for a tagged union case. (dbgmodel.h)
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.
IDebugHostType3

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

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

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

The IDebugHostType6 (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.
IDeconstructableConcept

A concept that a data model can support in order to decompose an object into a set of arguments which can be passed to the constructable concept in order to create a new identical instance of the object (dbgmodel.h).
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.
IFilteredNamespacePropertyToken

Provides an extension to the data model functionality for manipulating namespaces. (dbgmodel.h)
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. (dbgmodel.h)
IModelObject2

The IModelObject2 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. (dbgmodel.h)
IModelPropertyAccessor

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

An interface which enumerates registered named models and their associated name. (dbgmodel.h)
IObjectWrapperConcept

An object which is a wrapper for another object can implement this concept to indicate such. (dbgmodel.h)
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.
ExtendedArrayDimension

The ExtendedArrayDimension struct provides details about an array dimension, including how to interpret the remainder of the information in the array dimension, lower bounds, length, and stride.
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

 
AddressSpaceRelation

Defines the kind of address space being used.
CallingConventionKind

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

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

This enum defines the memory layout of one dimension of an extended array.
IntrinsicKind

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

The KnownCompiler enumeration identifies a well-known set of compilers.
LanguageKind

Identifies the programming language of the compiler.
LocalKind

Defines the kind of local that a particular name is (whether an argument to the function or a local variable).
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.
StorageKind

The StorageKind enum defines where a local is stored.
SymbolKind

Defines the kind of a symbol.
SymbolSearchOptions

Symbols search options.
TypeKind

Defines the kind of a type.
UDTKind

The UDTKind enum defines the nature of the User-Defined Type (UDT) in question.
VarArgsKind

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

The WrappedObjectPreference enum indicates a preference for how the wrapper and the wrapped object should be treated.