# Interface: com.pnfsoftware.jeb.core.units.code.debug.IDebuggerThread

Standard interface for a thread object managed by a debugger.

## Method: getFrame
- parameter: `index`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.debug.IDebuggerThreadStackFrame`

Description: Get a stack frame by index.
return: the requested stack frame, null if invalid or on error

## Method: getFrameCount
- return type: `int`

Description: Get the number of frames in this thread.
return: 

## Method: getFrames
- return type: `java.util.List<? extends com.pnfsoftware.jeb.core.units.code.debug.IDebuggerThreadStackFrame>`

Description: 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.
return: 

## Method: getId
- return type: `long`

Description: Get this thread id.
return: the thread id

## Method: getLocation
- return type: `java.lang.String`

Description: 
return: 

## Method: getName
- return type: `java.lang.String`

Description: Get this thread name.
return: the name, null if none

## Method: getRegisters
- return type: `com.pnfsoftware.jeb.core.units.code.asm.processor.IRegisterData`

Description: Get the registers of a native unit \(x86, arm...\) or null when it is a VM thread \(JVM\).
return: the list of registers

## Method: getStatus
- return type: `com.pnfsoftware.jeb.core.units.code.debug.DebuggerThreadStatus`

Description: Get this thread status.
return: the status, never null

## Method: resume
- return type: `boolean`

Description: Resume this thread.
return: 

## Method: setRegisters
- parameter: `registers`, type: `com.pnfsoftware.jeb.core.units.code.asm.processor.IRegisterData`
- return type: `boolean`

Description: 
parameter: registers: 
return: 

## Method: stepInto
- return type: `boolean`

Description: 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.
return: true if the operation succeeded

## Method: stepOut
- return type: `boolean`

Description: 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.
return: true if the operation succeeded

## Method: stepOver
- return type: `boolean`

Description: 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.
return: true if the operation succeeded

## Method: suspend
- return type: `boolean`

Description: Suspend this thread.
return: 

