}
}
- private String MapPath(PHPLineBreakpoint phpLBP)
- {
- IPath filename;
- if (remote)
- {
- filename = phpLBP.getMarker().getResource().getProjectRelativePath();
- filename = remoteSourcePath.append(filename);
- }
- else
- filename = phpLBP.getMarker().getResource().getLocation();
- String path=filename.toOSString();
- if(pathmap!=null&&remote)
- {
- java.util.Iterator i=pathmap.keySet().iterator();
- while(i.hasNext())
- {
- String k=(String)i.next();
- if(path.substring(0,k.length()).equals(k))
- {
- path=pathmap.get(k)+path.substring(k.length());
- break;
- }
- }
- }
- if(pathtranslation&&remote)
- {
- if(path.substring(0,1).equals("/"))
- path=path.replace('\\','/');
- else
- path=path.replace('/','\\');
+ private String MapPath(PHPLineBreakpoint phpLBP) {
+ IPath filename;
+ if (remote) {
+ filename = phpLBP.getMarker().getResource()
+ .getProjectRelativePath();
+ filename = remoteSourcePath.append(filename);
+ } else
+ filename = phpLBP.getMarker().getResource().getLocation();
+ String path = filename.toOSString();
+ if (pathmap != null && remote) {
+ java.util.Iterator i = pathmap.keySet().iterator();
+ while (i.hasNext()) {
+ String k = (String) i.next();
+ if (path.startsWith(k)) {
+ path = pathmap.get(k) + path.substring(k.length());
+ break;
+ }
+ }
+ }
+ if (pathtranslation && remote) {
+ if (path.substring(0, 1).equals("/"))
+ path = path.replace('\\', '/');
+ else
+ path = path.replace('/', '\\');
+ }
+ return path;
}
- return path;
- }
public void addBreakpoint(IBreakpoint breakpoint) {
if (DBGInt == null)
public void pause() {
try {
- DBGInt.pauseExecution();
+ if (null != DBGInt)
+ DBGInt.pauseExecution();
+ else {
+ // TODO Make sure the Suspend action is grayed out
+ // when DBGInt is null
+ }
} catch (IOException e) {
PHPDebugCorePlugin.log(e);
stop();
}
public synchronized void setShouldStop() {
- shouldStop = true;
- }
+ shouldStop = true;
+ try {
+ // If the loop thread is blocked on the server socket,
+ // forcibly unblock it to avoid leaking the thread,
+ // the socket and the port
+ closeServerSocket();
+ } catch (IOException x) {
+ // Log this as a warning?
+ PHPDebugCorePlugin.log(x);
+ }
+ }
public synchronized void notifyWait() {
notify();
}
}
}
-}
\ No newline at end of file
+}