class Breakpoint

Defined at line 24 of file ../../src/developer/debug/debug_agent/breakpoint.h

A single breakpoint may apply to many processes and many addresses (even in

the same process). These instances are called ProcessBreakpoints.

Multiple Breakpoints can also correspond to the same ProcessBreakpoint if

they have the same process/address.

Public Methods

bool DoesExceptionApply (debug_ipc::BreakpointType exception, debug_ipc::BreakpointType bp_type)

Breakpoint::DoesExceptionApply ------------------------------------------------------------------

Defined at line 15 of file ../../src/developer/debug/debug_agent/breakpoint.cc

const debug_ipc::BreakpointStats & stats ()

Defined at line 73 of file ../../src/developer/debug/debug_agent/breakpoint.h

const debug_ipc::BreakpointSettings & settings ()

Defined at line 79 of file ../../src/developer/debug/debug_agent/breakpoint.h

bool is_internal_ld_so ()

Returns true if this is the internally set ld.so loader breakpoint. This is set internally by

the debug_agent and not sent to the client.

Defined at line 90 of file ../../src/developer/debug/debug_agent/breakpoint.h

void Breakpoint (ProcessDelegate * process_delegate, bool is_internal_ld_so)

Some breakpoints are internally generated by the debug_agent. These are different than the

internal breakpoints set by the zxdb frontend which we see as nrmal breakpoints. Our internal

breakpoints are never sent to the client.

Defined at line 107 of file ../../src/developer/debug/debug_agent/breakpoint.cc

void ~Breakpoint ()

Defined at line 110 of file ../../src/developer/debug/debug_agent/breakpoint.cc

debug::Status SetSettings (const debug_ipc::BreakpointSettings & settings)

Calling SetSettings() will update the settings and install/move the breakpoint as required.

The one taking an address is for internal process-wide software breakpoints that have no ID.

Defined at line 124 of file ../../src/developer/debug/debug_agent/breakpoint.cc

debug::Status SetSettings (std::string name, zx_koid_t process_koid, uint64_t address)

Defined at line 149 of file ../../src/developer/debug/debug_agent/breakpoint.cc

bool AppliesToThread (zx_koid_t process_koid, zx_koid_t thread_koid)

A breakpoint can be set to apply to a specific set of threads. A thread

hitting an exception needs to query whether it should apply to it or not.

Defined at line 217 of file ../../src/developer/debug/debug_agent/breakpoint.cc

HitResult OnHit ()

In the future we will want to have breakpoints that trigger on a specific

hit count or other conditions and will need a "kContinue" result.

Defined at line 233 of file ../../src/developer/debug/debug_agent/breakpoint.cc

Enumerations

enum HitResult
Name Value
kHit 0
kOneShotHit 1

Defined at line 35 of file ../../src/developer/debug/debug_agent/breakpoint.h

Records