mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +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);
|
||||
for (IBreakpoint breakpoint : breakpoints) {
|
||||
if (supportsBreakpoint(breakpoint)) {
|
||||
Map<String, Object> attributes = breakpoint.getMarker().getAttributes();
|
||||
attributes.put(ATTR_DEBUGGER_PATH, NULL_STRING);
|
||||
attributes.put(ATTR_THREAD_FILTER, extractThreads(dmc, (ICBreakpoint) breakpoint));
|
||||
attributes.put(ATTR_THREAD_ID, NULL_STRING);
|
||||
platformBPs.put((ICBreakpoint) breakpoint, attributes);
|
||||
boolean filtered = isBreakpointEntirelyFiltered(dmc, (ICBreakpoint) breakpoint);
|
||||
if (!filtered) {
|
||||
Map<String, Object> attributes = breakpoint.getMarker().getAttributes();
|
||||
attributes.put(ATTR_DEBUGGER_PATH, NULL_STRING);
|
||||
attributes.put(ATTR_THREAD_FILTER, extractThreads(dmc, (ICBreakpoint) breakpoint));
|
||||
attributes.put(ATTR_THREAD_ID, NULL_STRING);
|
||||
platformBPs.put((ICBreakpoint) breakpoint, attributes);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (CoreException e) {
|
||||
|
@ -1343,16 +1346,21 @@ public class MIBreakpointsManager extends AbstractDsfService implements IBreakpo
|
|||
};
|
||||
countingRm.setDoneCount(fPlatformToAttributesMaps.size());
|
||||
|
||||
for (final IBreakpointsTargetDMContext dmc : fPlatformToAttributesMaps.keySet()) {
|
||||
determineDebuggerPath(dmc, attrs,
|
||||
new RequestMonitor(getExecutor(), countingRm) {
|
||||
@Override
|
||||
protected void handleSuccess() {
|
||||
installBreakpoint(dmc, (ICBreakpoint) breakpoint,
|
||||
attrs, countingRm);
|
||||
}
|
||||
});
|
||||
}
|
||||
for (final IBreakpointsTargetDMContext dmc : fPlatformToAttributesMaps.keySet()) {
|
||||
boolean filtered = isBreakpointEntirelyFiltered(dmc, (ICBreakpoint)breakpoint);
|
||||
if (!filtered) {
|
||||
determineDebuggerPath(dmc, attrs,
|
||||
new RequestMonitor(getExecutor(), countingRm) {
|
||||
@Override
|
||||
protected void handleSuccess() {
|
||||
installBreakpoint(dmc, (ICBreakpoint) breakpoint,
|
||||
attrs, countingRm);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
countingRm.done();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Add table
Reference in a new issue