Enum Class TraceExecutionState

java.lang.Object
java.lang.Enum<TraceExecutionState>
ghidra.trace.model.TraceExecutionState
All Implemented Interfaces:
Serializable, Comparable<TraceExecutionState>, Constable

public enum TraceExecutionState extends Enum<TraceExecutionState>
The execution state of a debug target object
  • Enum Constant Details

    • INACTIVE

      public static final TraceExecutionState INACTIVE
      The object has been created, but it not yet alive

      This may apply, e.g., to a GDB "Inferior," which has no yet been used to launch or attach to a process.

    • ALIVE

      public static final TraceExecutionState ALIVE
      The object is alive, but its execution state is unspecified

      Implementations should use STOPPED and RUNNING whenever possible. For some objects, e.g., a process, this is conventionally determined by its parts, e.g., threads: A process is running when any of its threads are running. It is stopped when all of its threads are stopped. For the clients' sakes, all models should implement these conventions internally.

    • STOPPED

      public static final TraceExecutionState STOPPED
      The object is alive, but not executing
    • RUNNING

      public static final TraceExecutionState RUNNING
      The object is alive and executing

      "Running" is loosely defined. For example, with respect to a thread, it may indicate the thread is currently executing, waiting on an event, or scheduled for execution. It does not necessarily mean it is executing on a CPU at this exact moment.

    • TERMINATED

      public static final TraceExecutionState TERMINATED
      The object is no longer alive

      The object still exists but no longer represents something alive. This could be used for stale handles to objects which may still be queried (e.g., for a process exit code), or e.g., a GDB "Inferior," which could be re-used to launch or attach to another process.

  • Method Details

    • values

      public static TraceExecutionState[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static TraceExecutionState valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null