Class PythonDebugger
java.lang.Object
org.eclipse.ease.debugging.AbstractEaseDebugger
org.eclipse.ease.lang.python.debugger.PythonDebugger
- All Implemented Interfaces:
IEventProcessor
,IExecutionListener
- Direct Known Subclasses:
Py4jDebugger
public class PythonDebugger extends AbstractEaseDebugger implements IEventProcessor, IExecutionListener
Debugger class handling communication between Python and Eclipse.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
PythonDebugger.PythonDebugFrame
CustomEaseDebugFrame
parsing the data fromIPyFrame
to more usable format.Nested classes/interfaces inherited from class org.eclipse.ease.debugging.AbstractEaseDebugger
AbstractEaseDebugger.ThreadState
-
Field Summary
Fields Modifier and Type Field Description static String
PYTHON_DEBUGGER_VARIABLE
Variable name forPythonDebugger
in Python engine.Fields inherited from interface org.eclipse.ease.IExecutionListener
ENGINE_END, ENGINE_START, SCRIPT_END, SCRIPT_INJECTION_END, SCRIPT_INJECTION_START, SCRIPT_START
-
Constructor Summary
Constructors Constructor Description PythonDebugger(IDebugEngine engine, boolean showDynamicCode)
-
Method Summary
Modifier and Type Method Description Object
execute(Script script)
Runs the givenScript
using theICodeTracer
.IPythonScriptRegistry
getScriptRegistry()
Returns theIPythonScriptRegistry
used by the debugger.void
setCodeTracer(ICodeTracer tracer)
Sets theICodeTracer
from the Python implementation.void
traceDispatch(IPyFrame frame, String type)
Function called fromICodeTracer
whenever a new frame in Python is hit.Methods inherited from class org.eclipse.ease.debugging.AbstractEaseDebugger
fireDispatchEvent, getExceptionStacktrace, getExceptionStacktrace, getStacktrace, handleEvent, isTrackedScript, notify, setDispatcher, setScriptRegistry
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.ease.debugging.dispatcher.IEventProcessor
handleEvent, setDispatcher
Methods inherited from interface org.eclipse.ease.IExecutionListener
notify
-
Field Details
-
PYTHON_DEBUGGER_VARIABLE
Variable name forPythonDebugger
in Python engine. During setup phase set this variable BEFORE calling edb.py.- See Also:
- Constant Field Values
-
-
Constructor Details
-
PythonDebugger
-
-
Method Details
-
setCodeTracer
Sets theICodeTracer
from the Python implementation.This method will be called by edb.py on "_pyease_debugger".
- Parameters:
tracer
-ICodeTracer
for the connection between Eclipse and Python.
-
traceDispatch
Function called fromICodeTracer
whenever a new frame in Python is hit. Effectively checks if debugger should suspend or continue.- Parameters:
frame
-IPyFrame
for current execution point.type
- Type of trace step that occurred (ignored).
-
execute
- Parameters:
script
- Script to be executed.- Returns:
- Always
null
-
getScriptRegistry
Returns theIPythonScriptRegistry
used by the debugger. If debugger has been set up incorrectly (e.g. script registry not tailored for python) this will returnnull
.- Returns:
IPythonScriptRegistry
ornull
.
-