Package ghidra.trace.model

# 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

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class java.lang.Enum

  `Enum.EnumDesc<E extends Enum<E>>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `ALIVE`
  The object is alive, but its execution state is unspecified
  `INACTIVE`
  The object has been created, but it not yet alive
  `RUNNING`
  The object is alive and executing
  `STOPPED`
  The object is alive, but not executing
  `TERMINATED`
  The object is no longer alive

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static TraceExecutionState`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static TraceExecutionState[]`
  `values()`
  Returns an array containing the constants of this enum class, in the order they are declared.

  ### Methods inherited from class java.lang.Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

  ### Methods inherited from class java.lang.Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## 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