Package ghidra.trace.model.breakpoint
Interface TraceBreakpointManager
- All Known Implementing Classes:
DBTraceBreakpointManager
public interface TraceBreakpointManager
A store for recording breakpoint placement over time in a trace
-
Method Summary
Modifier and TypeMethodDescriptionaddBreakpoint(String path, Lifespan lifespan, AddressRange range, Collection<TraceThread> threads, Collection<TraceBreakpointKind> kinds, boolean enabled, String comment) Add a breakpoint to the tracedefault TraceBreakpointLocationaddBreakpoint(String path, Lifespan lifespan, Address address, Collection<TraceThread> threads, Collection<TraceBreakpointKind> kinds, boolean enabled, String comment) Add a breakpoint to the trace at a single addressCollection<? extends TraceBreakpointLocation> Collect all breakpoint locations in the traceCollection<? extends TraceBreakpointSpec> Collect all breakpoint specifications in the traceCollection<? extends TraceBreakpointLocation> Collect breakpoints locations having the given "full name"Collection<? extends TraceBreakpointLocation> getBreakpointsAt(long snap, Address address) Collect breakpoints containing the given snap and addressCollection<? extends TraceBreakpointLocation> getBreakpointsIntersecting(Lifespan span, AddressRange range) Collect breakpoints intersecting the given span and address rangeCollection<? extends TraceBreakpointSpec> Collect breakpoints specifications having the given "full name"getPlacedBreakpointByPath(long snap, String path) Get the placed breakpoint at the given snap by the given pathdefault TraceBreakpointLocationplaceBreakpoint(String path, long snap, AddressRange range, Collection<TraceThread> threads, Collection<TraceBreakpointKind> kinds, boolean enabled, String comment) Add a breakpoint to the trace starting at a given snapdefault TraceBreakpointLocationplaceBreakpoint(String path, long snap, Address address, Collection<TraceThread> threads, Collection<TraceBreakpointKind> kinds, boolean enabled, String comment) Add a breakpoint to the trace at a single address, starting at a given snap
-
Method Details
-
addBreakpoint
TraceBreakpointLocation addBreakpoint(String path, Lifespan lifespan, AddressRange range, Collection<TraceThread> threads, Collection<TraceBreakpointKind> kinds, boolean enabled, String comment) throws DuplicateNameException Add a breakpoint to the trace- Parameters:
path- the "full name" of the breakpointlifespan- the lifespan of the breakpointrange- the address range of the breakpointthreads- an optional set of threads to which the breakpoint applies. Empty for every thread, i.e, the process.kinds- the kinds of breakpointenabled- true if the breakpoint is enabledcomment- a user comment- Returns:
- the new breakpoint.
- Throws:
DuplicateNameException- if a breakpoint with the same path already exists within an overlapping snap
-
addBreakpoint
default TraceBreakpointLocation addBreakpoint(String path, Lifespan lifespan, Address address, Collection<TraceThread> threads, Collection<TraceBreakpointKind> kinds, boolean enabled, String comment) throws DuplicateNameException Add a breakpoint to the trace at a single address- Throws:
DuplicateNameException- See Also:
-
placeBreakpoint
default TraceBreakpointLocation placeBreakpoint(String path, long snap, AddressRange range, Collection<TraceThread> threads, Collection<TraceBreakpointKind> kinds, boolean enabled, String comment) throws DuplicateNameException Add a breakpoint to the trace starting at a given snap- Throws:
DuplicateNameException- See Also:
-
placeBreakpoint
default TraceBreakpointLocation placeBreakpoint(String path, long snap, Address address, Collection<TraceThread> threads, Collection<TraceBreakpointKind> kinds, boolean enabled, String comment) throws DuplicateNameException Add a breakpoint to the trace at a single address, starting at a given snap- Throws:
DuplicateNameException- See Also:
-
getAllBreakpointSpecifications
Collection<? extends TraceBreakpointSpec> getAllBreakpointSpecifications()Collect all breakpoint specifications in the trace- Returns:
- the specifications
-
getAllBreakpointLocations
Collection<? extends TraceBreakpointLocation> getAllBreakpointLocations()Collect all breakpoint locations in the trace- Returns:
- the locations
-
getBreakpointSpecificationsByPath
Collect breakpoints specifications having the given "full name"- Parameters:
path- the path- Returns:
- the specifications
-
getBreakpointLocationsByPath
Collect breakpoints locations having the given "full name"- Parameters:
path- the path- Returns:
- the locations
-
getPlacedBreakpointByPath
Get the placed breakpoint at the given snap by the given path- Parameters:
snap- the snap which the breakpoint's lifespan must containpath- the path of the breakpoint- Returns:
- the breakpoint, or
nullif no breakpoint matches
-
getBreakpointsAt
Collect breakpoints containing the given snap and address- Parameters:
snap- the timeaddress- the location- Returns:
- the collection of breakpoints
-
getBreakpointsIntersecting
Collection<? extends TraceBreakpointLocation> getBreakpointsIntersecting(Lifespan span, AddressRange range) Collect breakpoints intersecting the given span and address range- Parameters:
span- the spanrange- the address range- Returns:
- the collection of breakpoints
-