Microsoft.VisualStudio.Debugger.Symbols Namespace

Classes

DkmBasicInstructionSymbolInfo

Contains basic symbol info about an instruction. This is primarily used to provide symbol information for native stack frames to any frame filter. This is used as a network/IPC optimization when symbols are loaded in a separate process by gathering the basic information in a single round trip.

This API was introduced in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

DkmCustomSymbolFileId

The custom debug info is populated when a module loads and the debug monitor does not understand the content of the debug directory.

DkmDynamicSymbolFileId

This is used for in-memory dynamic modules when doing managed debugging.

DkmEmbeddedDocument

DkmEmbeddedDocument represents a source file embedded in a symbol file.

This API was introduced in Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5).

DkmEmbeddedDwarfSymbolFileId

Marker that the associated module instance has embedded DWARF data.

This API was introduced in Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5).

DkmEmbeddedPdbFileId

Contains information from the 'MPDB' section of the module's debug directory.

This API was introduced in Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

DkmEngineSymbolSettings

Contains the symbol path collection and the cache path.

DkmHashValue

Value of a calculated cryptographic hash, possibly representing a checksum.

This API was introduced in Visual Studio 15 Update 9 (DkmApiVersion.VS15Update9).

DkmInstructionSymbol

DkmInstructionSymbol represents a method in the target process.

Derived classes: DkmClrInstructionSymbol, DkmClrNcInstructionSymbol, DkmCustomInstructionSymbol, DkmNativeInstructionSymbol, DkmScriptInstructionSymbol

DkmModule

The DkmModule class represents a code bundle (ex: dll or exe) which is or once was loaded into one or more processes. The DkmModule class is the central object to the symbol APIs, and is 1:1 with the symbol handler's notation of what is loaded. If a code bundle loads into three different processes (or the same process but with three different base addresses or three different app domains) but the symbol handler thinks of all of these as being identical, there will be only one module object.

DkmPdbFileId

Contains the information which is in the 'RSDS' section of the module's debug directory. The Mvid portion of this information is in the Mvid immutable.

DkmResolvedDocument

Object which represents the result of a source file query against a symbol file (PDB). The resolved document object might encapsulate multiple document records with the symbol file. For example, in C++ compilation, each time that a header file is included there is another reference within the PDB. However, there is only one DkmResolvedDocument object for the header file.

Derived classes: DkmResolvedMappedDocument

DkmResolvedMappedDocument

Resolved document object which is created from a successful call to DkmModule.FindMappedDocuments or DkmScriptDocument.TryMappedResolve. This contains the information to map requests in server-side documents into requests on the client-side document.

DkmSourceFileHash

Value of a calculated hash. Hashes are used for the document checksum feature, which has a non-security purpose.

This API was introduced in Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

DkmSourceFileId

Identifies a source file and provides the information which a symbol handler could use to search a symbol file (PDB) for information on this source file.

DkmSourceFileId.MD5Hash

MD5 hash value for this document.

DkmSourceFileId.SHA1Hash

SHA-1 hash value for this document.

DkmSourceLinkInfo

DkmSourceLinkInfo represents Source Link information obtained from a Symbol File.

This API was introduced in Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

DkmSourcePosition

Source code position which corresponds to a code element. The could represent a location which has been extracted from a symbol (PDB) file, or it could be the location of a breakpoint in the IDE.

DkmSymbolFileId

Contains information needed to locate symbols for this module. On Win32, this information is contained within the IMAGE_DEBUG_DIRECTORY.

Derived classes: DkmCustomSymbolFileId, DkmDynamicSymbolFileId, DkmPdbFileId, DkmEmbeddedPdbFileId, DkmEmbeddedDwarfSymbolFileId

DkmSymbolProviderId

Unique identifier for symbol files/symbol providers.

DkmSymbolsDocument

DkmSymbolsDocument represents a document in a symbol file.

This API was introduced in Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5).

DkmSymbolsDocumentType

Guid value that describes the type of a symbols document.

Structs

DkmCodeViewCompilerId

DkmCodeViewCompilerId is used to translate information that is within the S_COMPILE* code view records into a DkmCompilerId. This allows the debugger to load an appropriate expression evaluator for a stack frame. Symbol providers may obtain this collection through DkmEngineSettings. Expression evaluators may add additional entries to this collection by having their setup add sub key(s) to the '%VSRegistryRoot%\Debugger\CodeView Compilers' registry key.

DkmFindDocumentsAsyncResult

Result of an asynchronous DkmModule.FindDocuments call.

DkmFindSymbolsAsyncResult

Result of an asynchronous DkmResolvedDocument.FindSymbols call.

DkmGetBasicSymbolInfoAsyncResult

Result of an asynchronous DkmInstructionSymbol.GetBasicInfo call.

DkmGetCompilerIdAsyncResult

Result of an asynchronous DkmInstructionSymbol.GetCompilerId call.

DkmGetFunctionInfoAsyncResult

Result of an asynchronous DkmModule.GetFunctionInfo call.

DkmGetInlineFramesCountAsyncResult

Result of an asynchronous DkmInstructionSymbol.GetInlineFramesCount call.

DkmGetInlineSourcePositionAsyncResult

Result of an asynchronous DkmInstructionSymbol.GetInlineSourcePosition call.

DkmGetMethodSymbolStoreDataAsyncResult

Result of an asynchronous DkmModule.GetMethodSymbolStoreData call.

DkmGetMethodSymbolStoreDataPreRemapAsyncResult

Result of an asynchronous DkmModule.GetMethodSymbolStoreDataPreRemap call.

DkmGetPublicSymbolByNameCallbackAsyncResult

Result of an asynchronous DkmModule.GetPublicSymbolByNameCallback call.

DkmGetRegisterRelativeSymbolNameAsyncResult

Result of an asynchronous DkmModule.GetRegisterRelativeSymbolName call.

DkmGetSourcePositionAsyncResult

Result of an asynchronous DkmInstructionSymbol.GetSourcePosition call.

DkmGetSourcePositionCallbackAsyncResult

Result of an asynchronous DkmInstructionSymbol.GetSourcePositionCallback call.

DkmGetSymbolNameForRVAAsyncResult

Result of an asynchronous DkmModule.GetSymbolNameForRVA call.

DkmGetTokenSymbolStoreAttributeAsyncResult

Result of an asynchronous DkmModule.GetTokenSymbolStoreAttribute call.

DkmGetUserCodeSourcePositionCallbackAsyncResult

Result of an asynchronous DkmInstructionSymbol.GetUserCodeSourcePositionCallback call.

DkmHasLineInfoAsyncResult

Result of an asynchronous DkmInstructionSymbol.HasLineInfo call.

DkmImageDebugDirectoryFormat

Windows dlls/exes contain a section for debugging information. Inside this section there are zero or more IMAGE_DEBUG_DIRECTORY structures, and inside each of these structures there is a 32-bit 'Type' field which indicates the format of the information within the debug directory. DkmImageDebugDirectoryFormat is used to map from this 'Type' value to the symbol provider which is used to handle this type of debugging information. The debugger initializes a collection of DkmImageDebugDirectoryFormat structs on startup by reading the '%VSRegistryRoot%\Debugger\Image Debug Directory Formats' registry keys.

DkmIsHiddenCodeAsyncResult

Result of an asynchronous DkmInstructionSymbol.IsHiddenCode call.

DkmIsUserCodeAsyncResult

Result of an asynchronous DkmInstructionAddress.IsUserCode call.

DkmMD5HashValue

Value of a calculated MD5 hash. MD5 hashes are used for the document checksum feature, which is a non-security purpose. MD5 should no longer be used for any security related purpose.

DkmModuleId

Guid pair used to uniquely identify a particular DkmModule instance.

DkmRVASizePair

An RVA and size pair representing a symbol returned from DkmModule GetFunctionInfo.

DkmSHA1HashValue

Value of a calculated SHA-1 hash. SHA-1 hashes are used for the document checksum feature, which is a non-security purpose. SHA-1 should no longer be used for any security related purpose.

DkmSteppingRange

A offset/size pair which is returned from the symbol provider to a debug monitor to indicate a range of instructions which the debugger should not stop at.

DkmTextSpan

The start/end line/column ranges for a contiguous span of text.

DkmTryLoadSymbolsAsyncResult

Result of an asynchronous DkmModuleInstance.TryLoadSymbols call.

Enums

DkmBasicSymbolInfoRequestFlags

Flags passed to DkmInstructionSymbol.GetBasicInfo and GetInlineFramesCount.

This API was introduced in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

DkmCompressionAlgorithmId

Indicates the compression algorithm used for a buffer of bytes. This can be used to determine which algorithm to use to decompress the bytes.

This API was introduced in Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5).

DkmDocumentMatchStrength

Indicates how strong of a match there was between the DkmDocumentQuery and the resulting DkmResolvedDocument.

DkmHashAlgorithmId

Identifier of a hash algorithm used to calculate a hash.

This API was introduced in Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

DkmInstructionSymbol.Tag

DkmInstructionSymbol is an abstract base class. This enum indicates which derived class this object is an instance of.

DkmResolvedDocumentWarning

Warning that occurred during the match. Depending on context, these may need to be surfaced to the user.

DkmSourcePositionFlags

Flags which affect the behavior of 'GetSourcePosition'.

DkmSteppingRangeBoundary

Indicates to the symbol provider the type of instructions to include in the 'no-step' regions.

DkmSymbolFileId.Tag

DkmSymbolFileId is an abstract base class. This enum indicates which derived class this object is an instance of.