Package ghidra.trace.database.breakpoint
Class DBTraceBreakpointManager
java.lang.Object
ghidra.trace.database.breakpoint.DBTraceBreakpointManager
- All Implemented Interfaces:
ErrorHandler,DBTraceManager,TraceBreakpointManager
public class DBTraceBreakpointManager
extends Object
implements TraceBreakpointManager, DBTraceManager
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ReadWriteLockprotected final DBTraceObjectManagerprotected final DBTrace -
Constructor Summary
ConstructorsConstructorDescriptionDBTraceBreakpointManager(DBHandle dbh, OpenMode openMode, ReadWriteLock lock, TaskMonitor monitor, DBTrace trace, DBTraceObjectManager objectManager) -
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 tracevoidNotification that an IO exception occurred.Collection<? 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 pathvoidinvalidateCache(boolean all) Invalidate this manager's cachesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ghidra.trace.model.breakpoint.TraceBreakpointManager
addBreakpoint, placeBreakpoint, placeBreakpoint
-
Field Details
-
lock
-
trace
-
objectManager
-
-
Constructor Details
-
DBTraceBreakpointManager
public DBTraceBreakpointManager(DBHandle dbh, OpenMode openMode, ReadWriteLock lock, TaskMonitor monitor, DBTrace trace, DBTraceObjectManager objectManager) throws VersionException, IOException - Throws:
VersionExceptionIOException
-
-
Method Details
-
dbError
Description copied from interface:ErrorHandlerNotification that an IO exception occurred.- Specified by:
dbErrorin interfaceErrorHandler- Parameters:
e-IOExceptionwhich was cause of error
-
invalidateCache
public void invalidateCache(boolean all) Description copied from interface:DBTraceManagerInvalidate this manager's caches- Specified by:
invalidateCachein interfaceDBTraceManager- Parameters:
all- probably nothing. Check out implementations ofManagerDB.invalidateCache(boolean).
-
addBreakpoint
public TraceBreakpointLocation addBreakpoint(String path, Lifespan lifespan, AddressRange range, Collection<TraceThread> threads, Collection<TraceBreakpointKind> kinds, boolean enabled, String comment) throws DuplicateNameException Description copied from interface:TraceBreakpointManagerAdd a breakpoint to the trace- Specified by:
addBreakpointin interfaceTraceBreakpointManager- 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
-
getAllBreakpointSpecifications
Description copied from interface:TraceBreakpointManagerCollect all breakpoint specifications in the trace- Specified by:
getAllBreakpointSpecificationsin interfaceTraceBreakpointManager- Returns:
- the specifications
-
getAllBreakpointLocations
Description copied from interface:TraceBreakpointManagerCollect all breakpoint locations in the trace- Specified by:
getAllBreakpointLocationsin interfaceTraceBreakpointManager- Returns:
- the locations
-
getBreakpointSpecificationsByPath
Description copied from interface:TraceBreakpointManagerCollect breakpoints specifications having the given "full name"- Specified by:
getBreakpointSpecificationsByPathin interfaceTraceBreakpointManager- Parameters:
path- the path- Returns:
- the specifications
-
getBreakpointLocationsByPath
Description copied from interface:TraceBreakpointManagerCollect breakpoints locations having the given "full name"- Specified by:
getBreakpointLocationsByPathin interfaceTraceBreakpointManager- Parameters:
path- the path- Returns:
- the locations
-
getPlacedBreakpointByPath
Description copied from interface:TraceBreakpointManagerGet the placed breakpoint at the given snap by the given path- Specified by:
getPlacedBreakpointByPathin interfaceTraceBreakpointManager- 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
Description copied from interface:TraceBreakpointManagerCollect breakpoints containing the given snap and address- Specified by:
getBreakpointsAtin interfaceTraceBreakpointManager- Parameters:
snap- the timeaddress- the location- Returns:
- the collection of breakpoints
-
getBreakpointsIntersecting
public Collection<? extends TraceBreakpointLocation> getBreakpointsIntersecting(Lifespan span, AddressRange range) Description copied from interface:TraceBreakpointManagerCollect breakpoints intersecting the given span and address range- Specified by:
getBreakpointsIntersectingin interfaceTraceBreakpointManager- Parameters:
span- the spanrange- the address range- Returns:
- the collection of breakpoints
-