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 classPythonDebugger.PythonDebugFrameCustomEaseDebugFrameparsing the data fromIPyFrameto 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 StringPYTHON_DEBUGGER_VARIABLEVariable name forPythonDebuggerin 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 Objectexecute(Script script)Runs the givenScriptusing theICodeTracer.IPythonScriptRegistrygetScriptRegistry()Returns theIPythonScriptRegistryused by the debugger.voidsetCodeTracer(ICodeTracer tracer)Sets theICodeTracerfrom the Python implementation.voidtraceDispatch(IPyFrame frame, String type)Function called fromICodeTracerwhenever a new frame in Python is hit.Methods inherited from class org.eclipse.ease.debugging.AbstractEaseDebugger
fireDispatchEvent, getExceptionStacktrace, getExceptionStacktrace, getStacktrace, handleEvent, isTrackedScript, notify, setDispatcher, setScriptRegistryMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.eclipse.ease.debugging.dispatcher.IEventProcessor
handleEvent, setDispatcherMethods inherited from interface org.eclipse.ease.IExecutionListener
notify
-
Field Details
-
PYTHON_DEBUGGER_VARIABLE
Variable name forPythonDebuggerin Python engine. During setup phase set this variable BEFORE calling edb.py.- See Also:
- Constant Field Values
-
-
Constructor Details
-
PythonDebugger
-
-
Method Details
-
setCodeTracer
Sets theICodeTracerfrom the Python implementation.This method will be called by edb.py on "_pyease_debugger".
- Parameters:
tracer-ICodeTracerfor the connection between Eclipse and Python.
-
traceDispatch
Function called fromICodeTracerwhenever a new frame in Python is hit. Effectively checks if debugger should suspend or continue.- Parameters:
frame-IPyFramefor current execution point.type- Type of trace step that occurred (ignored).
-
execute
- Parameters:
script- Script to be executed.- Returns:
- Always
null
-
getScriptRegistry
Returns theIPythonScriptRegistryused by the debugger. If debugger has been set up incorrectly (e.g. script registry not tailored for python) this will returnnull.- Returns:
IPythonScriptRegistryornull.
-