Package ghidra.trace.database.stack
Class DBTraceStackFrame
java.lang.Object
ghidra.trace.database.stack.DBTraceStackFrame
- All Implemented Interfaces:
DBTraceObjectInterface,TraceStackFrame,TraceObjectInterface,TraceUniqueObject
-
Nested Class Summary
Nested 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.stack.TraceStackFrame
KEY_PC -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanchangeApplies(TraceChangeRecord<?, ?> rec) protected TraceChangeRecord<?, ?> getComment(long snap) Get the user comment for the frameintgetLevel()Get the frame's position in the containing stackGet the object backing this implementationgetProgramCounter(long snap) Get the program counter at the given snapgetStack()Get the containing stackgetTrace()Get the trace containing this framevoidsetComment(long snap, String comment) Set the user comment for the framevoidsetProgramCounter(Lifespan span, Address pc) Set the program counter over the given spanTraceChangeRecord<?, ?> 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, spaceForValue
-
Constructor Details
-
DBTraceStackFrame
-
-
Method Details
-
getTrace
Description copied from interface:TraceStackFrameGet the trace containing this frame- Specified by:
getTracein interfaceTraceStackFrame- Returns:
- the trace
-
getStack
Description copied from interface:TraceStackFrameGet the containing stack- Specified by:
getStackin interfaceTraceStackFrame- Returns:
- the stack
-
getLevel
public int getLevel()Description copied from interface:TraceStackFrameGet the frame's position in the containing stack0 represents the innermost frame or top of the stack.
- Specified by:
getLevelin interfaceTraceStackFrame- Returns:
- the frame's level
-
getProgramCounter
Description copied from interface:TraceStackFrameGet the program counter at the given snap- Specified by:
getProgramCounterin interfaceTraceStackFrame- Parameters:
snap- the snap (only relevant in the experimental objects mode. Ordinarily, the PC is fixed over the containing stack's lifetime)- Returns:
- the program counter
-
setProgramCounter
Description copied from interface:TraceStackFrameSet the program counter over the given span- Specified by:
setProgramCounterin interfaceTraceStackFrame- Parameters:
span- the span (only relevant in the experimental objects mode. Ordinarily, the PC is fixed over the containing stack's lifetime)pc- the program counter
-
getComment
Description copied from interface:TraceStackFrameGet the user comment for the frameIn the experimental objects mode, this actually gets the comment in the listing at the frame's program counter for the given snap.
- Specified by:
getCommentin interfaceTraceStackFrame- Parameters:
snap- the snap (only relevant in the experimental objects mode)- Returns:
- the (nullable) comment
-
setComment
Description copied from interface:TraceStackFrameSet the user comment for the frameIn the experimental objects mode, this actually sets the comment in the listing at the frame's program counter for the given snap.
- Specified by:
setCommentin interfaceTraceStackFrame- Parameters:
snap- the snap (only relevant in the experimental objects mode)comment- the (nullable) comment
-
getObject
Description copied from interface:TraceObjectInterfaceGet the object backing this implementation- Specified by:
getObjectin interfaceTraceObjectInterface- Returns:
- the object
-
changeApplies
-
createChangeRecord
-
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
-