IDkmBreakpointManager Interface

Definition

This interface is implemented by the Breakpoint Manager component to provide the default handling for breakpoints. Other components in the system may also implement this interface to remap the meaning of breakpoints for certain languages.

Implementations of this interface may restrict when they are called using a filter defined in their component configuration. The following properties may be used: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

public interface class IDkmBreakpointManager
public interface class IDkmBreakpointManager
__interface IDkmBreakpointManager
public interface IDkmBreakpointManager
type IDkmBreakpointManager = interface
Public Interface IDkmBreakpointManager

Methods

DisableBoundBreakpoint(DkmBoundBreakpoint, DkmWorkList, DkmCompletionRoutine<DkmDisableBoundBreakpointAsyncResult>)

Disable the bound breakpoint so that it will no longer hit. If the bound breakpoint is already disabled, this operation has no effect.

DisablePendingBreakpoint(DkmPendingBreakpoint, DkmWorkList, DkmCompletionRoutine<DkmDisablePendingBreakpointAsyncResult>)

Disable the pending breakpoint object so that it will no longer fire. If the pending breakpoint is already bound, any bound breakpoints will be implicitly disabled.

EnableBoundBreakpoint(DkmBoundBreakpoint, DkmWorkList, DkmCompletionRoutine<DkmEnableBoundBreakpointAsyncResult>)

Enables the bound breakpoint so that it can be hit. If the bound breakpoint is already enabled, this operation has no effect.

EnablePendingBreakpoint(DkmPendingBreakpoint, DkmWorkList, DkmCompletionRoutine<DkmEnablePendingBreakpointAsyncResult>)

Sets the state of the pending breakpoint so that instances of the breakpoint that bind in the future will get hit. If the pending breakpoint is not yet enrolled, then this method will also enroll the breakpoint. Enrolling a pending breakpoint consists of attempting to resolve the breakpoint against any modules which are currently loaded and adding the breakpoint to the list of breakpoints which the breakpoint manager will bind on any module load. If the pending breakpoint is already enrolled, existing bound breakpoints will not automatically get enabled. Bound breakpoints must get enabled separately.

EnrollPendingBreakpoint(DkmPendingBreakpoint, DkmWorkList, DkmCompletionRoutine<DkmEnrollPendingBreakpointAsyncResult>)

This method will enroll the pending breakpoint without enabling it. The result is a breakpoint which the breakpoint manager will attempt to resolve, but which will not fire. Enrolling a pending breakpoint consists of attempting to resolve the breakpoint against any modules which are currently loaded and adding the breakpoint to the list of breakpoints which the breakpoint manager will bind on any module load.

GetBoundBreakpointHitCountValue(DkmBoundBreakpoint, DkmWorkList, DkmCompletionRoutine<DkmGetBoundBreakpointHitCountValueAsyncResult>)

Returns the number of times that a bound breakpoint has been hit. This value should not include any times when the breakpoint's instruction was executed, but the breakpoint's condition indicated that the debugger should not stop.

IsBoundBreakpointEnabled(DkmBoundBreakpoint)

Query to determine if the bound breakpoint is enabled.

SetBoundBreakpointCondition(DkmBoundBreakpoint, DkmBreakpointCondition)

Initialize or update or clear the condition on a breakpoint. If the same breakpoint has both a language-level condition, and a hit count condition, the language-level condition is applied first.

SetBoundBreakpointHitCountCondition(DkmBoundBreakpoint, DkmBreakpointHitCountCondition)

Initialize, update or clear the hit count condition on a breakpoint. If the same breakpoint has both a language-level condition, and a hit count condition, the language-level condition is applied first.

SetBoundBreakpointHitCountValue(DkmBoundBreakpoint, Int32)

Modifies the value for a breakpoint hit count.

SetPendingBreakpointCondition(DkmPendingBreakpoint, DkmWorkList, DkmBreakpointCondition, DkmCompletionRoutine<DkmSetPendingBreakpointConditionAsyncResult>)

Initialize, update or clear the language-level condition on all bound breakpoints of this condition breakpoint. If the same breakpoint has both a language-level condition, and a hit count condition, the language-level condition is applied first.

SetPendingBreakpointHitCountCondition(DkmPendingBreakpoint, DkmWorkList, DkmBreakpointHitCountCondition, DkmCompletionRoutine<DkmSetPendingBreakpointHitCountConditionAsyncResult>)

Initialize, update or clear the hit count condition on all bound breakpoints of this pending breakpoint. If the same breakpoint has both a language-level condition, and a hit count condition, the language-level condition is applied first.

Note that the hit count condition acts independently on each bound breakpoint, rather than being aggregated together on the pending breakpoint. For example, if the hit count is configured to stop at hit #2, and the breakpoint to two separate locations, each of which hit the breakpoint once, the UI will still not have gone into break mode because neither individual bound breakpoint has hit twice.

Applies to