Breakpoint

final class ntoseye.Breakpoint

A breakpoint handle. Because a breakpoint stays when ntoseye builds the target again, and a symbolic breakpoint resolves again after a reboot, the handle has no generation stamp and becomes invalid only when the breakpoint is deleted, or, for a one-shot breakpoint, once it fired. Its properties are the breakpoint’s state now, as bl lists it; a data watchpoint’s watch_access and watch_length say what it watches.

property action: str | None

The commands that run when the breakpoint breaks.

property address: int | None

The resolved address; None while a symbolic or source breakpoint is deferred.

property condition: str | None

The condition expression that a hit must satisfy.

property deferred: bool

Whether a symbolic or source specification waits for resolution.

delete() → None

Remove this breakpoint. A breakpoint that is already gone, deleted or a one-shot breakpoint whose hit stopped the target, is left as it is, so deleting after the hit works.

property enabled: bool
property hit_count: int
property hypercall: HypercallFilter | None

The hypercall a hit must be handling, and from which caller, for a hypercall breakpoint (!hvbp). None for any other breakpoint.

property id: int

The breakpoint’s ID, which bl and dbg.breakpoints use; readable after the breakpoint is gone.

property info: BreakpointInfo

The BreakpointInfo record of this handle: its properties as one value.

property one_shot: bool

Whether ntoseye removes the breakpoint after its first break.

property partition: PartitionFilter | None

The guest partition of the Windows hypervisor whose VPs a hit must be on, for a breakpoint set in its view (.partition). None for the target’s own breakpoints.

property pass_count: int

The requested hit number. Both 0 and 1 break on the first hit.

property process: Process | None

The process restriction, if the breakpoint has a process scope.

property processor: int | None

The only processor that can report a hit (/c). None if there is no processor restriction.

property remaining_pass_count: int

The number of hits that remain before the breakpoint breaks.

property resolved: bool

Whether the breakpoint resolved to an address. Use it to tell a deferred breakpoint from a disabled one.

property scope: str

global, or the process that the breakpoint is limited to (name (pid)).

property specification: str | None

The symbolic or source specification (bu/bm), which ntoseye keeps when it resolves the breakpoint again.

property symbol: str | None

The display name of the current resolution.

property temporary: bool

Whether this is a temporary run-to breakpoint.

property thread: Thread | None

The Windows thread restriction, if any.

to_dict() → dict[str, Any]

The record (info) as a plain dict.

property unchecked: bool

Set with bp /a or bu /a: without confirming that an instruction starts at the address.

property valid: bool

True while the breakpoint exists in this session: False once it is deleted, and for a one-shot breakpoint once its hit stopped the target. The other properties raise NtoseyeError once it is False.

property vm_exit: ExitFilter | None

The VM exit a hit must be handling, and from which caller, for a VM-exit breakpoint (!hvexit). None for any other breakpoint.

property watch_access: Literal['write', 'read_write'] | None

write or read_write for a data watchpoint. None for a code breakpoint.

property watch_length: int | None

The watched width in bytes. None for a code breakpoint.