Index: MIInferior.java =================================================================== RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/MIInferior.java,v retrieving revision 1.6 diff -u -r1.6 MIInferior.java --- MIInferior.java 20 Oct 2004 19:22:07 -0000 1.6 +++ MIInferior.java 17 Nov 2004 08:05:33 -0000 @@ -16,6 +16,7 @@ import java.io.PipedInputStream; import java.io.PipedOutputStream; +import org.eclipse.cdt.debug.mi.core.command.CLICommand; import org.eclipse.cdt.debug.mi.core.command.CommandFactory; import org.eclipse.cdt.debug.mi.core.command.MIExecAbort; import org.eclipse.cdt.debug.mi.core.command.MIExecInterrupt; @@ -23,6 +24,7 @@ import org.eclipse.cdt.debug.mi.core.command.MIInfoProgram; import org.eclipse.cdt.debug.mi.core.event.MIInferiorExitEvent; import org.eclipse.cdt.debug.mi.core.output.MIGDBShowExitCodeInfo; +import org.eclipse.cdt.debug.mi.core.output.MIInfo; import org.eclipse.cdt.debug.mi.core.output.MIInfoProgramInfo; /** @@ -173,10 +175,16 @@ interrupt(); } CommandFactory factory = session.getCommandFactory(); - MIExecAbort abort = factory.createMIExecAbort(); - session.postCommand0(abort, session.getCommandTimeout()); - abort.getMIInfo(); - setTerminated(abort.getToken(), true); + try { + MIExecAbort abort = factory.createMIExecAbort(); + session.postCommand0(abort, session.getCommandTimeout()); + abort.getMIInfo(); + setTerminated(abort.getToken(), true); + } catch (MIException e) { + // if an exception was thrown, we were probably no longer attached + // to a target, or perhaps we never connected to the target in the + // first place + } } else if (session.isCoreSession() && !isTerminated()){ setTerminated(); }