Interface IDebuggerThread

All Known Implementing Classes:
AbstractDebuggerThread

public interface IDebuggerThread
Standard interface for a thread object managed by a debugger.
  • Method Details

    • getId

      long getId()
      Get this thread id.
      Returns:
      the thread id
    • getName

      String getName()
      Get this thread name.
      Returns:
      the name, null if none
    • getStatus

      Get this thread status.
      Returns:
      the status, never null
    • resume

      boolean resume()
      Resume this thread.
      Returns:
      true if the thread was resumed
    • suspend

      boolean suspend()
      Suspend this thread.
      Returns:
      true if the thread was suspended
    • stepInto

      boolean stepInto()
      Step one instruction, stepping inside sub-routine branching instructions.

      IMPLEMENTATION NOTE: currently, for native debuggers, step() is an asynchronous operation. A success return value means that the operation partially succeeded. A client should wait for a breakpoint-hit event to make sure that the step() instruction was fully successful.

      Returns:
      true if the operation succeeded
    • stepOver

      boolean stepOver()
      Step one instruction, stepping over sub-routine branching instructions.

      IMPLEMENTATION NOTE: currently, for native debuggers, step() is an asynchronous operation. A success return value means that the operation partially succeeded. A client should wait for a breakpoint-hit event to make sure that the step() instruction was fully successful.

      Returns:
      true if the operation succeeded
    • stepOut

      boolean stepOut()
      Step until the currently executed sub-routine returns.

      IMPLEMENTATION NOTE: currently, for native debuggers, step() is an asynchronous operation. A success return value means that the operation partially succeeded. A client should wait for a breakpoint-hit event to make sure that the step() instruction was fully successful.

      Returns:
      true if the operation succeeded
    • getFrameCount

      int getFrameCount()
      Get the number of frames in this thread.
      Returns:
      frame count
    • getFrame

      IDebuggerThreadStackFrame getFrame(int index)
      Get a stack frame by index.
      Parameters:
      index - 0-based frame index
      Returns:
      the requested stack frame, null if invalid or on error
    • getFrames

      List<? extends IDebuggerThreadStackFrame> getFrames()
      Get the list of stack frames in the current thread. Most debuggers would require the thread be suspended for this operation to succeed. The first item in the list is the top-level stack-frame.
      Returns:
      stack frames, or null on error
    • getLocation

      String getLocation()
      Retrieve the current thread location.
      Returns:
      thread location, or null
    • getRegisters

      IRegisterData getRegisters()
      Get the registers of a native unit (x86, arm...) or null when it is a VM thread (JVM).
      Returns:
      the list of registers
    • setRegisters

      boolean setRegisters(IRegisterData registers)
      Set native register data.
      Parameters:
      registers - register data
      Returns:
      true if the registers were set