fSuspended = false;
XDebugCorePlugin.getBreakpointManager().removeBreakpointListener(this);
- fireTerminateEvent();
+ fThread.fireTerminateEvent();
DebugPlugin.getDefault().removeDebugEventListener(this);
/*if (fThread!=null)
fThread.removeEventListeners();*/
}
}
+ public Node eval(String expression) {
+ int id = fDebugConnection.eval(expression);
+ XDebugResponse response = getResponse(id);
+
+ Node evalResponse = response.getParentNode();
+ Node evalProperty = evalResponse.getFirstChild();
+
+ return evalProperty;
+ }
+
public void handleDebugEvents(DebugEvent[] events) {
for (int i = 0; i < events.length; i++) {
DebugEvent event = events[i];
stopListener();
fDebugConnection.close();
- fThread.removeEventListeners();
+/* fThread.removeEventListeners();
fThread = null;
- fThreads = new IThread[0];
+ fThreads = new IThread[0];*/
/* stopListener();
fDebugConnection.close();*/
}
} else {
fDebugConnection = null;
- fireEvent(new DebugEvent(this, DebugEvent.CHANGE, DebugEvent.CONTENT));
- }
+ fThread.fireEvent(new DebugEvent(this, DebugEvent.CHANGE, DebugEvent.CONTENT));
+ }
+
+ fThread.removeEventListeners();
+ fThread = null;
+ fThreads = new IThread[0];
}
public void handleProxyEvent(/*String ideKey,*/ XDebugConnection connection) {
setDebugConnection(connection);
System.out.println("* New Connection - XDebug.Target: " + fDebugConnection.getSessionID());
- fireEvent(new DebugEvent(this, DebugEvent.CHANGE, DebugEvent.CHANGE));
+// fireEvent(new DebugEvent(this, DebugEvent.CHANGE, DebugEvent.CHANGE));
fThread = new XDebugThread(this);
fThreads = new IThread[] {fThread};
+ fThread.fireEvent(new DebugEvent(this, DebugEvent.CHANGE, DebugEvent.CHANGE));
try {
started();
} catch( DebugException e ){
return response.getParentNode();
}
+ public void stop() {
+ fDebugConnection.stop();
+ }
+
protected IBreakpoint breakpointHit(Node node) {
Node child = node.getFirstChild();
if (child.getNodeName().equals("stack")) {
int lineNumber = Integer.parseInt(PHPDebugUtils.getAttributeValue(child, "lineno"));
- String filename=PHPDebugUtils.getAttributeValue(child, "filename");
+ String filename = PHPDebugUtils.getAttributeValue(child, "filename");
IBreakpoint[] breakpoints = XDebugCorePlugin.getBreakpoints();
for (int i = 0; i < breakpoints.length; i++) {
IBreakpoint breakpoint = breakpoints[i];