public interface

IDebuggerThread

com.pnfsoftware.jeb.core.units.code.debug.IDebuggerThread
Known Indirect Subclasses

Class Overview

Standard interface for a thread object managed by a debugger.

Summary

Public Methods
abstract IDebuggerThreadStackFrame getFrame(int index)
Get a stack frame by index.
abstract int getFrameCount()
Get the number of frames in this thread.
abstract List<? extends IDebuggerThreadStackFrame> getFrames()
Get the list of stack frames in the current thread.
abstract long getId()
Get this thread id.
abstract String getLocation()
abstract String getName()
Get this thread name.
abstract IRegisterData getRegisters()
Get the registers of a native unit (x86, arm...) or null when it is a VM thread (JVM).
abstract DebuggerThreadStatus getStatus()
Get this thread status.
abstract boolean resume()
Resume this thread.
abstract boolean setRegisters(IRegisterData registers)
abstract boolean stepInto()
Step one instruction, stepping inside sub-routine branching instructions.
abstract boolean stepOut()
Step until the currently executed sub-routine returns.
abstract boolean stepOver()
Step one instruction, stepping over sub-routine branching instructions.
abstract boolean suspend()
Suspend this thread.

Public Methods

public abstract IDebuggerThreadStackFrame getFrame (int index)

Get a stack frame by index.

Returns
  • the requested stack frame, null if invalid or on error

public abstract int getFrameCount ()

Get the number of frames in this thread.

public abstract 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.

public abstract long getId ()

Get this thread id.

Returns
  • the thread id

public abstract String getLocation ()

public abstract String getName ()

Get this thread name.

Returns
  • the name, null if none

public abstract 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

public abstract DebuggerThreadStatus getStatus ()

Get this thread status.

Returns
  • the status, never null

public abstract boolean resume ()

Resume this thread.

public abstract boolean setRegisters (IRegisterData registers)

public abstract 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

public abstract 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

public abstract 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

public abstract boolean suspend ()

Suspend this thread.