Breakpoint event.
1.1 --- a/dew4nb/src/org/netbeans/modules/dew4nb/services/debugger/ActiveSessions.java Thu Jan 30 11:42:10 2014 +0100
1.2 +++ b/dew4nb/src/org/netbeans/modules/dew4nb/services/debugger/ActiveSessions.java Thu Jan 30 14:15:54 2014 +0100
1.3 @@ -165,7 +165,7 @@
1.4 if (!(jpda instanceof JPDADebuggerImpl)) {
1.5 throw new IllegalStateException("Wrong debugger service."); //NOI18N
1.6 }
1.7 - jpda.addPropertyChangeListener(this);
1.8 + jpda.addPropertyChangeListener(this);
1.9 }
1.10
1.11
1.12 @@ -179,16 +179,27 @@
1.13 currentThread = jpda.getCurrentThread();
1.14 if (currentThread != null) {
1.15 ((Customizer)currentThread).addPropertyChangeListener(this);
1.16 + if (currentThread.isSuspended()) {
1.17 + sendSuspend(currentThread);
1.18 + }
1.19 }
1.20 } else if (JPDAThread.PROP_SUSPENDED.equals(propName)) {
1.21 - CallStackFrame[] callStack = null;
1.22 - try {
1.23 - callStack = currentThread.getCallStack();
1.24 - } catch (AbsentInformationException aie) {/*pass, no -g*/}
1.25 - env.sendObject(createSuspendResult(callStack));
1.26 + assert evt.getSource() == currentThread;
1.27 + if (currentThread.isSuspended()) {
1.28 + sendSuspend(currentThread);
1.29 + }
1.30 }
1.31 }
1.32
1.33 +
1.34 + private void sendSuspend(JPDAThread t) {
1.35 + CallStackFrame[] callStack = null;
1.36 + try {
1.37 + callStack = t.getCallStack();
1.38 + } catch (AbsentInformationException aie) {/*pass, no -g*/}
1.39 + env.sendObject(createSuspendResult(callStack));
1.40 + }
1.41 +
1.42 @NonNull
1.43 private SuspendResult createSuspendResult(@NullAllowed CallStackFrame[] callStack) {
1.44 final SuspendResult res = new SuspendResult();
1.45 @@ -224,7 +235,7 @@
1.46 }
1.47 }
1.48 res.getStack().add(String.format(
1.49 - "%s:%d",
1.50 + "src/%s:%d",
1.51 relativePath,
1.52 csf.getLineNumber(null)));
1.53 }
1.54 @@ -234,4 +245,4 @@
1.55
1.56 }
1.57
1.58 -}
1.59 +}
1.60 \ No newline at end of file
2.1 --- a/dew4nb/src/org/netbeans/modules/dew4nb/services/project/IORedirectProvider.java Thu Jan 30 11:42:10 2014 +0100
2.2 +++ b/dew4nb/src/org/netbeans/modules/dew4nb/services/project/IORedirectProvider.java Thu Jan 30 14:15:54 2014 +0100
2.3 @@ -85,8 +85,12 @@
2.4 }
2.5
2.6 @Override
2.7 - public InputOutput getIO(String name, boolean newIO) {
2.8 - return new RedirectIO();
2.9 + public InputOutput getIO(String name, boolean newIO) {
2.10 + if (currentEnv.get() == null) {
2.11 + return new NullIO();
2.12 + } else {
2.13 + return new RedirectIO();
2.14 + }
2.15 }
2.16
2.17 @Override
2.18 @@ -271,6 +275,7 @@
2.19
2.20 @Override
2.21 public void write(char[] cbuf, int off, int len) throws IOException {
2.22 + System.out.println(new String(cbuf, off, len));
2.23 }
2.24
2.25 @Override
2.26 @@ -298,6 +303,72 @@
2.27 }
2.28 }
2.29
2.30 + private static final class NullIO implements InputOutput {
2.31 +
2.32 + @Override
2.33 + public OutputWriter getOut() {
2.34 + return new NullOutputWriter();
2.35 + }
2.36 +
2.37 + @Override
2.38 + public Reader getIn() {
2.39 + return new NullReader();
2.40 + }
2.41 +
2.42 + @Override
2.43 + public OutputWriter getErr() {
2.44 + return new NullOutputWriter();
2.45 + }
2.46 +
2.47 + @Override
2.48 + public void closeInputOutput() {
2.49 + }
2.50 +
2.51 + @Override
2.52 + public boolean isClosed() {
2.53 + return false;
2.54 + }
2.55 +
2.56 + @Override
2.57 + public void setOutputVisible(boolean value) {
2.58 + }
2.59 +
2.60 + @Override
2.61 + public void setErrVisible(boolean value) {
2.62 + }
2.63 +
2.64 + @Override
2.65 + public void setInputVisible(boolean value) {
2.66 + }
2.67 +
2.68 + @Override
2.69 + public void select() {
2.70 + }
2.71 +
2.72 + @Override
2.73 + public boolean isErrSeparated() {
2.74 + return true;
2.75 + }
2.76 +
2.77 + @Override
2.78 + public void setErrSeparated(boolean value) {
2.79 + }
2.80 +
2.81 + @Override
2.82 + public boolean isFocusTaken() {
2.83 + return true;
2.84 + }
2.85 +
2.86 + @Override
2.87 + public void setFocusTaken(boolean value) {
2.88 + }
2.89 +
2.90 + @Override
2.91 + public Reader flushReader() {
2.92 + return new NullReader();
2.93 + }
2.94 + }
2.95 +
2.96 @NonNull
2.97 private static InvokeProjectActionResult createResponse(
2.98 @NonNull final EndPoint.Env env,