class Breakpoint

Defined at line 23 of file ../../src/developer/debug/zxdb/client/breakpoint.h

Public Methods

void Breakpoint (Session * session)

Defined at line 189 of file ../../src/developer/debug/zxdb/client/breakpoint.cc

void ~Breakpoint ()

Defined at line 191 of file ../../src/developer/debug/zxdb/client/breakpoint.cc

fxl::WeakPtr<Breakpoint> GetWeakPtr ()

Defined at line 193 of file ../../src/developer/debug/zxdb/client/breakpoint.cc

BreakpointSettings GetSettings ()

All of the settings, including the location, are stored in the BreakpointSettings object. This

API is designed so all settings changes happen atomically.

The backend can fail to set the breakpoint for a variety of reasons (memory write failure, IPC

failure, out of hardware breakpoints, etc.). The callback to SetSettings() (if provided)

will indicate success or failure of this operation. This callback will called with an error if

the breakpoint is deleted before completion.

If an async failure happens and there is no callback provided,

BreakpointObserver::OnBreakpointUpdateFailure() will be called. These backend errors can occur

at any time, not just when setting new settings, because new processes or dynamically loaded

shared libraries can always be added that this breakpoint could apply to.

void SetSettings (const BreakpointSettings & settings)

Defined at line 45 of file ../../src/developer/debug/zxdb/client/breakpoint.h

void SetSettings (const BreakpointSettings & settings, SetCallback cb)
bool IsInternal ()

Returns true if this is an internal breakpoint. Internal breakpoints are used to implement

other operations and are never exposed to the user.

std::vector<const BreakpointLocation *> GetLocations ()

Returns the locations associated with this breakpoint. These are the actual addresses set. The

symbols of these may not match the one in the settings (for example, the line number might be

different due to optimization for each location).

The returned pointers are owned by the Breakpoint and will be changed if the settings or any

process or module changes take place. Don't cache.

This function has a non-const variant so callers can enable or disable individual locations

using the resulting pointers.

std::vector<BreakpointLocation *> GetLocations ()
debug_ipc::BreakpointStats GetStats ()

Returns the stats for the breakpoint, e.g. hit_count.

SettingStore & settings ()

Defined at line 67 of file ../../src/developer/debug/zxdb/client/breakpoint.h

fxl::RefPtr<SettingSchema> GetSchema ()

static

Defined at line 196 of file ../../src/developer/debug/zxdb/client/breakpoint.cc

Friends

class Settings