DkmCppExceptionInformation Class

Definition

Provides information about a C++ exception which was raised in the target process.

public ref class DkmCppExceptionInformation : Microsoft::VisualStudio::Debugger::Exceptions::DkmExceptionInformation
[Windows::Foundation::Metadata::WebHostHidden]
public ref class DkmCppExceptionInformation : Microsoft::VisualStudio::Debugger::Exceptions::DkmExceptionInformation
[Windows::Foundation::Metadata::WebHostHidden]
class DkmCppExceptionInformation : Microsoft::VisualStudio::Debugger::Exceptions::DkmExceptionInformation
[System.Runtime.InteropServices.Guid("8d9e3c4f-e264-47d5-0e02-7d5bf93c4659")]
public class DkmCppExceptionInformation : Microsoft.VisualStudio.Debugger.Exceptions.DkmExceptionInformation
[<System.Runtime.InteropServices.Guid("8d9e3c4f-e264-47d5-0e02-7d5bf93c4659")>]
type DkmCppExceptionInformation = class
    inherit DkmExceptionInformation
Public Class DkmCppExceptionInformation
Inherits DkmExceptionInformation
Inheritance
DkmCppExceptionInformation
Attributes

Properties

Address

The address where the exception occurred.

Code

32-bit integer code for the exception. For Win32 exceptions, this is the code passed to RaiseException (ex:EXCEPTION_ACCESS_VIOLATION). This value is zero for exception categories that identify exceptions by string (ex: CLR).

(Inherited from DkmExceptionInformation)
ExceptionCategory

Indicates the type of exception.

(Inherited from DkmExceptionInformation)
ExceptionObjectPointer

Address within the target process of the thrown object.

ImplementationException

[Optional] Information about the underlying exception used to implement a higher level exception. For example, CLR and C++ exceptions may be implemented on top of Win32 exceptions. So this may store the DkmWin32ExceptionInformation for CLR or C++ exceptions.

(Inherited from DkmExceptionInformation)
InstructionAddress

[Optional] Address where the exception occurred. This will always be present for C++ and Win32 exceptions. It may be missing from CLR exceptions or MDAs as these may originate from inside the runtime.

(Inherited from DkmExceptionInformation)
Name

Type name of the exception. Example: 'std::exception'.

Process

DkmProcess represents a target process which is being debugged. The debugger debugs processes, so this is the basic unit of debugging. A DkmProcess can represent a system process or a virtual process such as minidumps.

(Inherited from DkmExceptionInformation)
ProcessingStage

The debugger receives notifications from the target process at various stages within exception processing (ex: exception thrown, exception unhandled). This enumeration indicates the stage(s) for a notification.

(Inherited from DkmExceptionInformation)
RuntimeInstance

The DkmRuntimeInstance class represents an execution environment which is loaded into a DkmProcess and which contains code to be debugged.

(Inherited from DkmExceptionInformation)
TagValue

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

(Inherited from DkmExceptionInformation)
Thread

DkmThread represents a thread running in the target process.

(Inherited from DkmExceptionInformation)
WinRTExceptionInfo

[Optional] Extended information about a WinRT exception if it exists.

Methods

CanModifyProcessing()

Determines if processing for this exception may be modified by the debugger. For example, if this user has performed an action (such as set next statement) that required the exception to be implicitly squashed, this may return false. This method may also return false if the runtime does not permit the exception from being squashed.

(Inherited from DkmExceptionInformation)
Create(DkmRuntimeInstance, DkmThread, DkmInstructionAddress, DkmExceptionProcessingStage, DkmExceptionInformation, String, UInt64, UInt64, DkmCppWinRTExceptionInformation)

Create a new DkmCppExceptionInformation object instance.

GetAdditionalInformation()

Provides additional information about an exception which will appear when Visual Studio stops on the exception. For CLR exceptions, this contains the 'Message' property from the System.Exception which was thrown.

Location constraint: API must be called from a Monitor component (component level < 100,000).

(Inherited from DkmExceptionInformation)
GetDescription()

Provides a string description for an exception. This is used when tracing the exception to the output window.

Location constraint: API must be called from a Monitor component (component level < 100,000).

(Inherited from DkmExceptionInformation)
GetExceptionDetails(DkmInspectionSession)

Get the exception details for this exception.

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

(Inherited from DkmExceptionInformation)
GetExceptionStackTrace()

Obtains the captured stack trace associated with the exception, if one is available.

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

(Inherited from DkmExceptionInformation)
GetWinRTErrorInfo(String, String, String)

Provides developer-oriented additional information about the exception. This info should be displayed along with GetDescription and GetAdditionalInformation to clarify the cause of the error.

Location constraint: API must be called from a Monitor component (component level < 100,000).

(Inherited from DkmExceptionInformation)
OnContinued()

Raise a ExceptionContinued event. Components which implement the event sink interface will receive the event notification. Control will return once all components have been notified.

Location constraint: API must be called from a Monitor component (component level < 100,000).

(Inherited from DkmExceptionInformation)
OnDebugMonitorException()

Raise a DebugMonitorException event. Components which implement the event sink interface will receive the event notification. Control will return once all components have been notified.

Location constraint: API must be called from a Monitor component (component level < 100,000).

(Inherited from DkmExceptionInformation)
OnOutOfBandException()

Raise a OutOfBandException event. Components which implement the event sink interface will receive the event notification. Control will return once all components have been notified.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1).

(Inherited from DkmExceptionInformation)
SquashProcessing()

Updates the state of the target process so that when execution is resumed, the target process will not continue standard exception processing (ex: handler search, stack unwinding). This method needs to be called before resuming execution.

(Inherited from DkmExceptionInformation)

Applies to