Package ghidra.trace.database.thread
Class DBTraceThread
java.lang.Object
ghidra.trace.database.thread.DBTraceThread
- All Implemented Interfaces:
DBTraceObjectInterface,TraceObjectInterface,TraceThread,TraceUniqueObject
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface ghidra.trace.database.target.DBTraceObjectInterface
DBTraceObjectInterface.Translator<T> -
Field Summary
Fields inherited from interface ghidra.trace.model.target.iface.TraceObjectInterface
KEY_COMMENT, KEY_DISPLAY, KEY_KIND, KEY_MODIFIED, KEY_ORDER, KEY_SHORT_DISPLAY, KEY_TYPE, KEY_VALUEFields inherited from interface ghidra.trace.model.thread.TraceThread
KEY_TID -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddelete()Delete this thread from the tracegetComment(long snap) Get the comment on this threadlonggetKey()Get a key identifying this thread, unique among all threads in this trace for all timegetName(long snap) Get the "short name" of this threadGet the object backing this implementationgetPath()Get the "full name" of this threadgetTrace()Get the trace containing this threadbooleanCheck if the module is alive for any of the given spanbooleanisValid(long snap) Check if the thread is valid at the given snapshotvoidremove(long snap) Remove this thread from the given snapshot onvoidsetComment(long snap, String comment) Set a comment on this threadvoidSet the "short name" of this threadvoidSet the "short name" of this threadTraceChangeRecord<?, ?> translateEvent(TraceChangeRecord<?, ?> rec) Translate an object event into the interface-specific eventMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ghidra.trace.database.target.DBTraceObjectInterface
getObjectKey, isDeleted, spaceForValueMethods inherited from interface ghidra.trace.model.thread.TraceThread
getRegisters
-
Constructor Details
-
DBTraceThread
-
-
Method Details
-
getObject
Description copied from interface:TraceObjectInterfaceGet the object backing this implementation- Specified by:
getObjectin interfaceTraceObjectInterface- Returns:
- the object
-
getTrace
Description copied from interface:TraceThreadGet the trace containing this thread- Specified by:
getTracein interfaceTraceThread- Returns:
- the trace
-
getKey
public long getKey()Description copied from interface:TraceThreadGet a key identifying this thread, unique among all threads in this trace for all time- Specified by:
getKeyin interfaceTraceThread- Returns:
- the key
-
getPath
Description copied from interface:TraceThreadGet the "full name" of this thread- Specified by:
getPathin interfaceTraceThread- Returns:
- the path
-
getName
Description copied from interface:TraceThreadGet the "short name" of this thread- Specified by:
getNamein interfaceTraceThread- Parameters:
snap- the snap- Returns:
- the name
-
setName
Description copied from interface:TraceThreadSet the "short name" of this thread- Specified by:
setNamein interfaceTraceThread- Parameters:
lifespan- the span of timename- the name
-
setName
Description copied from interface:TraceThreadSet the "short name" of this thread- Specified by:
setNamein interfaceTraceThread- Parameters:
snap- the starting snapname- the name
-
setComment
Description copied from interface:TraceThreadSet a comment on this thread- Specified by:
setCommentin interfaceTraceThread- Parameters:
snap- the snapcomment- the comment, possiblynull
-
getComment
Description copied from interface:TraceThreadGet the comment on this thread- Specified by:
getCommentin interfaceTraceThread- Parameters:
snap- the snap- Returns:
- the comment, possibly
null
-
delete
public void delete()Description copied from interface:TraceThreadDelete this thread from the trace- Specified by:
deletein interfaceTraceThread
-
remove
public void remove(long snap) Description copied from interface:TraceThreadRemove this thread from the given snapshot on- Specified by:
removein interfaceTraceThread- Parameters:
snap- the snapshot key
-
isValid
public boolean isValid(long snap) Description copied from interface:TraceThreadCheck if the thread is valid at the given snapshotIn object mode, a thread's life may be disjoint, so checking if the snap occurs between creation and destruction is not quite sufficient. This method encapsulates validity. In object mode, it checks that the thread object has a canonical parent at the given snapshot. In table mode, it checks that the lifespan contains the snap.
- Specified by:
isValidin interfaceTraceThread- Parameters:
snap- the snapshot key- Returns:
- true if valid, false if not
-
isAlive
Description copied from interface:TraceThreadCheck if the module is alive for any of the given span- Specified by:
isAlivein interfaceTraceThread- Parameters:
span- the span- Returns:
- true if its life intersects the span
-
translateEvent
Description copied from interface:DBTraceObjectInterfaceTranslate an object event into the interface-specific eventBoth the object event and the interface-specific event, if applicable, will be emitted. If multiple events need to be emitted, then this method may emit them directly via its object's trace. If exactly one event needs to be emitted, then this method should return the translated record. If no translation applies, or if the translated event(s) were emitted directly, this method returns
null.- Specified by:
translateEventin interfaceDBTraceObjectInterface- Parameters:
rec- the object event- Returns:
- the interface-specific event to emit, or
null
-