public class PythonDebugger extends AbstractEaseDebugger implements IEventProcessor, IExecutionListener
Modifier and Type | Class and Description |
---|---|
class |
PythonDebugger.PythonDebugFrame
Custom
EaseDebugFrame parsing the data from IPyFrame to more usable format. |
AbstractEaseDebugger.ThreadState
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
PYTHON_DEBUGGER_VARIABLE
Variable name for
PythonDebugger in Python engine. |
ENGINE_END, ENGINE_START, SCRIPT_END, SCRIPT_INJECTION_END, SCRIPT_INJECTION_START, SCRIPT_START
Constructor and Description |
---|
PythonDebugger(IDebugEngine engine,
boolean showDynamicCode) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
execute(Script script)
Runs the given
Script using the ICodeTracer . |
IPythonScriptRegistry |
getScriptRegistry()
Returns the
IPythonScriptRegistry used by the debugger. |
void |
setCodeTracer(ICodeTracer tracer)
Sets the
ICodeTracer from the Python implementation. |
void |
traceDispatch(IPyFrame frame,
java.lang.String type)
Function called from
ICodeTracer whenever a new frame in Python is hit. |
fireDispatchEvent, getExceptionStacktrace, getExceptionStacktrace, getStacktrace, handleEvent, isTrackedScript, notify, setDispatcher, setScriptRegistry
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
handleEvent, setDispatcher
notify
public static final java.lang.String PYTHON_DEBUGGER_VARIABLE
PythonDebugger
in Python engine. During setup phase set this variable BEFORE calling edb.py.public PythonDebugger(IDebugEngine engine, boolean showDynamicCode)
AbstractEaseDebugger#AbstractScriptDebugger(IScriptEngine, boolean)
public void setCodeTracer(ICodeTracer tracer)
ICodeTracer
from the Python implementation.
This method will be called by edb.py on "_pyease_debugger".
tracer
- ICodeTracer
for the connection between Eclipse and Python.public void traceDispatch(IPyFrame frame, java.lang.String type)
ICodeTracer
whenever a new frame in Python is hit. Effectively checks if debugger should suspend or continue.frame
- IPyFrame
for current execution point.type
- Type of trace step that occurred (ignored).public java.lang.Object execute(Script script)
script
- Script to be executed.null
public IPythonScriptRegistry getScriptRegistry()
IPythonScriptRegistry
used by the debugger.
If debugger has been set up incorrectly (e.g. script registry not tailored for python) this will return null
.IPythonScriptRegistry
or null
.