DkmEngineSettings Class

Definition

Contains the session-wide debug settings. There is one instance of this object per engine Guid (ex: one instance for COMPlusOnlyEng2, one instance for COMPlusNativeEng).

public ref class DkmEngineSettings : Microsoft::VisualStudio::Debugger::DkmDataContainer
[System.Runtime.InteropServices.Guid("3c1f22df-556c-18bf-7584-c2c649777bfe")]
public class DkmEngineSettings : Microsoft.VisualStudio.Debugger.DkmDataContainer
[<System.Runtime.InteropServices.Guid("3c1f22df-556c-18bf-7584-c2c649777bfe")>]
type DkmEngineSettings = class
    inherit DkmDataContainer
Public Class DkmEngineSettings
Inherits DkmDataContainer
Inheritance
Attributes

Properties

AllowOutOfProcessSymbolLoading

When true, the debugger will load native symbols in a separate process.

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

BaseDebugMonitorId

Base debug monitor used by this engine. This value may be Guid.Empty (GUID_NULL) if the engine may use various base debug monitors depending on the process being debugged.

ClrDebuggingServicesId

Indicates which version of the CLR debugging services (mscordbi.dll or other implementation of the ICorDebug API) should be used when debugging this process.

DataBreakpointAsString

If data breakpoints descriptors should be treated as strings.

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

EnableAsyncDebugging

Enables stepping over 'await' statements and stepping out of async methods. This is on by default.

EnableFuncEvalQuickAbort

Specifies whether FEQA is enabled for this engine for this debug session.

EngineId

These are the 'standard' engine GUID values. It is expected that this list will grow over time, so where possible, it is recommended to query for a setting instead of comparing the EngineId.

Flags

Flags that indicate immutable traits of this engine settings.

FuncEvalAbortLoggingLevel

Used to indicate whether to create a dump of the debuggee when a func eval is aborted or rude aborted.

This API was introduced in Visual Studio 15 Update 4 (DkmApiVersion.VS15Update4).

FuncEvalQuickAbortExcludeList

List of executables for whom FEQA isn't enabled even if FEQA DLLs are loaded.

ImageDebugDirectoryFormats

List of supported values for IMAGE_DEBUG_DIRECTORY.Type.

IsEditAndContinue

Enables Edit and Continue.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IsFastEvaluateAllowed

When true (the default state), the CLR inspector will attempt to interpret simple properties/methods in some cases rather than using func-eval. More complicated methods will still be evaluated using func-eval.

This API was introduced in Visual Studio 16 Update 2 (DkmApiVersion.VS16Update2).

IsGpuRaceHazardsAllowSameSettingEnabled

When true, the debugger will ignore GPU race hazards that didn't change the previous data.

IsJustMyCodeEnabled

When true, the debugger will enable JustMyCode features (stepping, call stack, and exception filtering).

IsNativeExportsEnabled

When true, the debugger will will attempt to use the export tables from Win32 PE files to resolve addresses.

IsNativeJustMyCodeSteppingEnabled

When true, the debugger will enable Just My Code stepping for native (when the module is compiled with the /JMC switch).

This API was introduced in Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8).

IsStepOverPropertiesAndOperatorsEnabled

When true, the debugger will step over properties and operators when a step in is done.

IsSuppressOptimizationsEnabled

When true, the debugger will suppress Just-In-Time compiler optimizations for newly-loaded modules.

IsUnloaded

Returns true if a 'unloaded' event has been raised for this object (example: DkmThread::Unload is called) or if the object has been closed. Note that care must be used when checking this status as, without synchronization, the returned status may no longer be accurate the instruction after it is read.

(Inherited from DkmDataContainer)
Languages

Collection of all programming languages supported while debugging this process.

MaxCallStackFrames

The maximum number of frames supported in the call stack window.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

RegistryTweaks

[Optional] List of registry tweaks in the Visual Studio registry that components may use to customize their behavior. Registry tweaks are read from the key [Visual Studio Registry Root]\Debugger\Engine at the start of each debug session.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

RemoteClrPdbNamePatterns

List of PDB name patterns used to determine if PDB will be loaded on remote side.

RequireFullTrustForSourceServer

When true, the debugger will require assemblies to be fully trusted before executing source server commands from an assembly. The concept of fully trusted only applies to CLR assemblies.

SymbolPaths

A collection of DkmStrings representing the symbol search paths and cache path.

TraceSettings

[Optional] Trace settings for WPF output.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

ValidateFilesForMinidumps

True if the debugger should validate the digital signatures of CLR debugging libraries before loading them.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

Methods

FindProcess(Guid)

Find a DkmProcess element within this DkmEngineSettings. If no element with the given input key is present, FindProcess will fail.

FindSettings(Guid)

Find a DkmEngineSettings object. If no object with the given input key is present, FindSettings will fail.

GetCodeViewCompilers()

Returns the enumeration of DkmCodeViewCompilerId values. This enumeration may then be used by a symbol provider to map the information within a code view record to the DkmCompilerId structure.

GetCorDumpAdditionalClrRuntimePaths(ReadOnlyCollection<String>)
GetDataItem<T>()

Gets the instance of 'T' which has been added to this container instance. If this container does not contain a 'T', this function will return null.

(Inherited from DkmDataContainer)
GetLanguage(DkmCompilerId)

Returns the DkmLanguage object which matches the given compiler id. If the language is unknown (not registered with the engine), then this method will return the default language object.

GetProcesses()

GetProcesses enumerates the DkmProcess elements of this DkmEngineSettings object.

GetSettings()

GetSettings enumerates all the created DkmEngineSettings objects.

GetUserDocumentPath()

Get the user document visual studio folder path.

RemoveDataItem<T>()

Remove the instance of 'T' from this container. It is usually unnecessary to call this method as a data container will automatically be emptied when the object is closed.

(Inherited from DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

Place a new item in the data container.

(Inherited from DkmDataContainer)

Applies to