diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsManager.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsManager.java index 39f46f682f4..ce146e79546 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsManager.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsManager.java @@ -1278,13 +1278,14 @@ public class MIBreakpointsManager extends AbstractDsfService implements IBreakpo */ @DsfServiceEventHandler public void eventDispatched(ICommandControlShutdownDMEvent e) { - // bug 243899: The call to terminate results in an exception, - // need to investigate. - //terminated(); + terminated(); } private void terminated() { - clearBreakpointStatus(fPlatformBPs.keySet().toArray(new ICBreakpoint[fPlatformBPs.size()])); + // Reset the breakpoint install count + for (IBreakpointsTargetDMContext ctx : fPlatformBPs.keySet()) { + clearBreakpointStatus(fPlatformBPs.get(ctx).keySet().toArray(new ICBreakpoint[fPlatformBPs.size()])); + } fPlatformBPs.clear(); }