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. |
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 . |
void |
handleEvent(IDebugEvent event)
Function called to handle incoming event.
|
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. |
getExceptionStacktrace, getStacktrace, notify, setDispatcher
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
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 handleEvent(IDebugEvent event)
handleEvent
in interface IEventProcessor
handleEvent
in class AbstractEaseDebugger
public void traceDispatch(IPyFrame frame, java.lang.String type)
ICodeTracer
whenever a new frame in Python is hit.
Effectively checks if debugger should supsend or continue.
frame
- IPyFrame
for current execution point.type
- Type of trace step that occured (ignored).public java.lang.Object execute(Script script)
script
- Script to be executed.null