import java.util.Collections;
import java.util.Vector;
+import net.sourceforge.phpdt.internal.debug.core.PHPDBGProxy.PHPLoop;
import net.sourceforge.phpdt.internal.debug.core.model.PHPDBGEvalString;
import net.sourceforge.phpdt.internal.debug.core.model.PHPStackFrame;
import net.sourceforge.phpdt.internal.debug.core.model.PHPValue;
if (proxy.getSocket ().isClosed ()) { // Can we communiate with DBG?
return; // No
}
-
DBGPacket.sendPacket (os); // Send the request to DBG
lastCommand = PHPDBGBase.DBGA_CONTINUE; // Store the info about the command we sent
break;
case PHPDBGBase.DBGC_END:
- sessionEnded = true;
- this.proxy.setTerminated();
+ continueExecution();
+ proxy.updateView();
break;
case PHPDBGBase.DBGC_BREAKPOINT:
import java.util.Map;
import java.util.Vector;
+import net.sourceforge.phpdt.internal.core.JavaProject;
import net.sourceforge.phpdt.internal.debug.core.breakpoints.PHPLineBreakpoint;
import net.sourceforge.phpdt.internal.debug.core.model.PHPDebugTarget;
import net.sourceforge.phpdt.internal.debug.core.model.PHPStackFrame;
import net.sourceforge.phpdt.internal.debug.core.model.PHPThread;
import net.sourceforge.phpdt.internal.debug.core.model.PHPVariable;
import net.sourceforge.phpeclipse.PHPeclipsePlugin;
+import net.sourceforge.phpeclipse.actions.PHPEclipseShowAction;
+import org.eclipse.core.internal.resources.Project;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.model.IBreakpoint;
+import org.eclipse.swt.browser.Browser;
public class PHPDBGProxy {
public PHPDBGProxy () {
thisProxy = this;
}
-
+
+ /**
+ * updateView
+ * Clean up the view, but leave the Debug session running.
+ * added by ed_mann
+ */
+ public void updateView(){
+ getDebugTarget().updateThreads(PHPMainThread);
+ }
+
/**
* @param remote
* @param remoteSourcePath
*/
public void stop () {
phpLoop.setShouldStop (); // Notify the thread's 'run loop' to stop
-
if (DBGInt != null) { // If we have a DBG interface linked with this proxy
DBGInt.setShouldStop (); // Notify the DBG interface to stop the waiting for response
- }
+ }
// if (!remote) { // If it's not a remote proxy session
// try {
this.debugTarget = debugTarget;
debugTarget.setPHPDBGProxy(this);
}
-
+
/**
* This method is called by a stackframe.
* It reads the variables from PHP via DBG
shouldStop = false;
this.setName ("PHPDebuggerLoop");
}
-
+
/**
*
*/
public void run () {
try {
int i;
- int timeout;
long interval = 200; // Wait 200 ms maximum for a DBG response
boolean newconnect = false; //
Socket newSocket = null;
PHPMainThread = new PHPThread (getDebugTarget (), getPort ());
PHPMainThread.setName ("Thread [main]");
- timeout = 0;
// while ((getDebugTarget() == null) && (timeout < 100)) {
// sleep(100);