diff --git a/debug/org.eclipse.cdt.debug.core/ChangeLog b/debug/org.eclipse.cdt.debug.core/ChangeLog index a0174667d2d..23b7aaebcf2 100644 --- a/debug/org.eclipse.cdt.debug.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.core/ChangeLog @@ -1,3 +1,8 @@ +2004-11-24 Alain Magloire + + Use the ICDITarget.deleteAllBreakpoints() for speed. + * org/eclipse/cdt/debug/internal/core/CBreakpointManager.java + 2004-11-24 Mikhail Khodjaiants Do not request to dispose local variables when the target is resumed. * CExpression.java diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CBreakpointManager.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CBreakpointManager.java index c3be782c941..b6ab4b9d3b8 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CBreakpointManager.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CBreakpointManager.java @@ -503,24 +503,22 @@ public class CBreakpointManager implements IBreakpointManagerListener, ICDIEvent } private void removeAllBreakpoints() { - ICDIBreakpoint[] cdiBreakpoints = getBreakpointMap().getAllCDIBreakpoints(); ICDITarget cdiTarget = getCDITarget(); - if ( cdiBreakpoints.length > 0 ) { + try { + cdiTarget.deleteAllBreakpoints(); + } + catch( CDIException e ) { + // Do we care ? + CDebugCorePlugin.log( e.getMessage() ); + } + ICBreakpoint[] breakpoints = getBreakpointMap().getAllCBreakpoints(); + for( int i = 0; i < breakpoints.length; ++i ) { try { - cdiTarget.deleteBreakpoints( cdiBreakpoints ); + ((CBreakpoint)breakpoints[i]).decrementInstallCount(); } - catch( CDIException e ) { + catch( CoreException e ) { CDebugCorePlugin.log( e.getMessage() ); } - ICBreakpoint[] breakpoints = getBreakpointMap().getAllCBreakpoints(); - for( int i = 0; i < breakpoints.length; ++i ) { - try { - ((CBreakpoint)breakpoints[i]).decrementInstallCount(); - } - catch( CoreException e ) { - CDebugCorePlugin.log( e.getMessage() ); - } - } } }