Share via


ICorDebugManagedCallback2 Interface

Provides methods to support debugger exception handling and managed debugging assistants (MDAs). ICorDebugManagedCallback2 is a logical extension of the ICorDebugManagedCallback interface.

interface ICorDebugManagedCallback2 : IUnknown {
    HRESULT ChangeConnection (
        [in] ICorDebugProcess     *pProcess,
        [in] CONNID               dwConnectionId
    );
        
    HRESULT CreateConnection (
        [in] ICorDebugProcess     *pProcess,
        [in] CONNID               dwConnectionId,
        [in] WCHAR                *pConnName
    );
        
    HRESULT DestroyConnection (
        [in] ICorDebugProcess     *pProcess,
        [in] CONNID               dwConnectionId
    );
        
    HRESULT Exception (
        [in] ICorDebugAppDomain   *pAppDomain,
        [in] ICorDebugThread      *pThread,
        [in] ICorDebugFrame       *pFrame,
        [in] ULONG32              nOffset,
        [in] CorDebugExceptionCallbackType dwEventType,
        [in] DWORD                dwFlags
    );
        
    HRESULT ExceptionUnwind (
        [in] ICorDebugAppDomain   *pAppDomain,
        [in] ICorDebugThread      *pThread,
        [in] CorDebugExceptionUnwindCallbackType dwEventType,
        [in] DWORD                dwFlags
    );
        
    HRESULT FunctionRemapComplete (
        [in] ICorDebugAppDomain   *pAppDomain,
        [in] ICorDebugThread      *pThread,
        [in] ICorDebugFunction    *pFunction
    );
        
    HRESULT FunctionRemapOpportunity (
        [in] ICorDebugAppDomain   *pAppDomain,
        [in] ICorDebugThread      *pThread,
        [in] ICorDebugFunction    *pOldFunction,
        [in] ICorDebugFunction    *pNewFunction,
        [in] ULONG32              oldILOffset
    );
        
    HRESULT MDANotification (
        [in] ICorDebugController  *pController,
        [in] ICorDebugThread      *pThread,
        [in] ICorDebugMDA         *pMDA
    );
};

Methods

Method

Description

ICorDebugManagedCallback2::ChangeConnection Method

Notifies the debugger that the set of tasks associated with the specified connection has changed.

ICorDebugManagedCallback2::CreateConnection Method

Notifies the debugger that a new connection has been created.

ICorDebugManagedCallback2::DestroyConnection Method

Notifies the debugger that the specified connection has been terminated.

ICorDebugManagedCallback2::Exception Method

Notifies the debugger that a search for an exception handler has started.

ICorDebugManagedCallback2::ExceptionUnwind Method

Provides a status notification during the exception unwinding process.

ICorDebugManagedCallback2::FunctionRemapComplete Method

Notifies the debugger that code execution has switched to a new version of an edited function.

ICorDebugManagedCallback2::FunctionRemapOpportunity Method

Notifies the debugger that code execution has reached a sequence point in an older version of an edited function.

ICorDebugManagedCallback2::MDANotification Method

Provides notification that code execution has encountered a managed debugging assistant (MDA) message.

Remarks

The ICorDebugManagedCallback2 interface extends the ICorDebugManagedCallback interface to handle new debug events introduced in the .NET Framework version 2.0.

A debugger must implement ICorDebugManagedCallback2 if it is debugging .NET Framework 2.0 applications. An instance of ICorDebugManagedCallback or ICorDebugManagedCallback2 is passed as the callback object to ICorDebug::SetManagedHandler.

Requirements

Platforms: Windows 2000, Windows XP, Windows Server 2003 family

Header: CorDebug.idl

Library: CorGuids.lib

.NET Framework Version: 2.0

See Also

Concepts

Diagnosing Errors with Managed Debugging Assistants

Debugging Interfaces

ICorDebugManagedCallback Interface