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

Title Description
IComparableConcept Compares this object to another (of arbitrary type). If the comparison cannot be performed, E_NOT_SET should be returned.
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 expression evaluator interface to the underlying debugger.
IDebugHostEvaluator2 The expression evaluator interface to the underlying debugger.
IDebugHostExtensibility The extensibility interface to the underlying debugger.
IDebugHostField Represents a field within a structure or class.
IDebugHostMemory The memory access interface to the underlying debugger.
IDebugHostMemory2 The memory access interface to the underlying debugger.
IDebugHostModule An (IDebugHostSymbol derived) interface to a particular module.
IDebugHostModule2 An (IDebugHostSymbol derived) interface 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 An interface to a particular symbol.
IDebugHostSymbol2 An interface to a particular symbol.
IDebugHostSymbolEnumerator An enumerator which runs through children of a symbol.
IDebugHostSymbols The symbols interface to the underlying debugger.
IDebugHostType An (IDebugHostSymbol derived) interface to a particular type.
IDebugHostType2 An (IDebugHostSymbol derived) interface to a particular type.
IDebugHostTypeSignature Represents a type signature against which type instances can be matched.
IDynamicConceptProviderConcept If a client wants to take over the storage of keys and values for an object, it can implement this concept interface.
IDynamicKeyProviderConcept If a client wants to take over the storage of keys and values for an object, it can implement this concept interface.
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 A reference to a key on a data model object.
IModelKeyReference2 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

Title Description
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

Title Description
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 search record passed to EnumerateChildrenEx in order to restrict symbol searches.
TypeSearchInfo The search record passed to EnumerateChildrenEx specifically for SymbolType searches.

Enumerations

Title Description
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
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 Defines what debug event occurred.
ScriptDebugEventFilter Defines what debug event occurred.
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.