mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-05 00:36:16 +02:00
Bug 515768: Don't install BPs that are entirely filtered
This check already existed for modifying breakpoints, but didn't exist for creating new breakpoints or installing initial breakpoints. Change-Id: I5ff5ce0b3ac603ccffa49bd98d60f7202505a7bd Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
This commit is contained in:
parent
a797534968
commit
98a578cf94
1 changed files with 23 additions and 15 deletions
|
@ -494,11 +494,14 @@ public class MIBreakpointsManager extends AbstractDsfService implements IBreakpo
|
||||||
IBreakpoint[] breakpoints = fBreakpointManager.getBreakpoints(fDebugModelId);
|
IBreakpoint[] breakpoints = fBreakpointManager.getBreakpoints(fDebugModelId);
|
||||||
for (IBreakpoint breakpoint : breakpoints) {
|
for (IBreakpoint breakpoint : breakpoints) {
|
||||||
if (supportsBreakpoint(breakpoint)) {
|
if (supportsBreakpoint(breakpoint)) {
|
||||||
Map<String, Object> attributes = breakpoint.getMarker().getAttributes();
|
boolean filtered = isBreakpointEntirelyFiltered(dmc, (ICBreakpoint) breakpoint);
|
||||||
attributes.put(ATTR_DEBUGGER_PATH, NULL_STRING);
|
if (!filtered) {
|
||||||
attributes.put(ATTR_THREAD_FILTER, extractThreads(dmc, (ICBreakpoint) breakpoint));
|
Map<String, Object> attributes = breakpoint.getMarker().getAttributes();
|
||||||
attributes.put(ATTR_THREAD_ID, NULL_STRING);
|
attributes.put(ATTR_DEBUGGER_PATH, NULL_STRING);
|
||||||
platformBPs.put((ICBreakpoint) breakpoint, attributes);
|
attributes.put(ATTR_THREAD_FILTER, extractThreads(dmc, (ICBreakpoint) breakpoint));
|
||||||
|
attributes.put(ATTR_THREAD_ID, NULL_STRING);
|
||||||
|
platformBPs.put((ICBreakpoint) breakpoint, attributes);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (CoreException e) {
|
} catch (CoreException e) {
|
||||||
|
@ -1343,16 +1346,21 @@ public class MIBreakpointsManager extends AbstractDsfService implements IBreakpo
|
||||||
};
|
};
|
||||||
countingRm.setDoneCount(fPlatformToAttributesMaps.size());
|
countingRm.setDoneCount(fPlatformToAttributesMaps.size());
|
||||||
|
|
||||||
for (final IBreakpointsTargetDMContext dmc : fPlatformToAttributesMaps.keySet()) {
|
for (final IBreakpointsTargetDMContext dmc : fPlatformToAttributesMaps.keySet()) {
|
||||||
determineDebuggerPath(dmc, attrs,
|
boolean filtered = isBreakpointEntirelyFiltered(dmc, (ICBreakpoint)breakpoint);
|
||||||
new RequestMonitor(getExecutor(), countingRm) {
|
if (!filtered) {
|
||||||
@Override
|
determineDebuggerPath(dmc, attrs,
|
||||||
protected void handleSuccess() {
|
new RequestMonitor(getExecutor(), countingRm) {
|
||||||
installBreakpoint(dmc, (ICBreakpoint) breakpoint,
|
@Override
|
||||||
attrs, countingRm);
|
protected void handleSuccess() {
|
||||||
}
|
installBreakpoint(dmc, (ICBreakpoint) breakpoint,
|
||||||
});
|
attrs, countingRm);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
countingRm.done();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Reference in a new issue