Share via


IDebugEngine2

This interface represents a debug engine (DE). It is used to manage various aspects of a debugging session, from creating breakpoints to setting and clearing exceptions.

IDebugEngine2 : IUnknown

Notes for Implementers

This interface is implemented by a custom DE to manage debugging of programs. This interface must be implemented by the DE.

Notes for Callers

This interface is called by the session debug manager (SDM) to manage the debugging session, including managing exceptions, creating breakpoints, and responding to synchronous events sent by the DE.

Methods in Vtable Order

The following table shows the methods of IDebugEngine2.

Method

Description

IDebugEngine2::EnumPrograms

Creates an enumerator for all the programs being debugged by a DE.

IDebugEngine2::Attach

Attaches a DE to a program.

IDebugEngine2::CreatePendingBreakpoint

Creates a pending breakpoint in the DE.

IDebugEngine2::SetException

Specifies how the DE should handle a given exception.

IDebugEngine2::RemoveSetException

Removes the specified exception so it is no longer handled by the debug engine.

IDebugEngine2::RemoveAllSetExceptions

Removes the list of exceptions the IDE has set for a particular run-time architecture or language.

IDebugEngine2::GetEngineID

Gets the GUID of the DE.

IDebugEngine2::DestroyProgram

Informs a DE that the program specified has been atypically terminated and that the DE should clean up all references to the program and send a program destroy event.

IDebugEngine2::ContinueFromSynchronousEvent

Called by the SDM to indicate that a synchronous debug event, previously sent by the DE to the SDM, was received and processed.

IDebugEngine2::SetLocale

Sets the locale of the DE.

IDebugEngine2::SetRegistryRoot

Sets the registry root currently in use by the DE.

IDebugEngine2::SetMetric

Sets a metric.

IDebugEngine2::CauseBreak

Requests that all programs being debugged by this DE stop execution the next time one of their threads attempts to run.

Requirements

Header: Msdbg.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

See Also

Reference

IDebugEventCallback2::Event

IDebugEngineCreateEvent2::GetEngine