mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2024-11-27 06:32:10 +00:00
GP-1706: Fixed mixed breakpoint cannot be toggled in dynamic listing
This commit is contained in:
parent
c3c20d9e0f
commit
8870e58792
@ -965,7 +965,7 @@ public class DebuggerBreakpointMarkerPlugin extends Plugin
|
||||
*/
|
||||
Trace trace = getTraceFromContext(context);
|
||||
boolean mapped = breakpointService.anyMapped(bs, trace);
|
||||
Enablement toggled = en.getToggled(mapped);
|
||||
Enablement toggled = en.getToggled(mapped && trace == null);
|
||||
if (toggled.enabled) {
|
||||
breakpointService.enableAll(bs, trace).exceptionally(ex -> {
|
||||
breakpointError(title, "Could not enable breakpoints", ex);
|
||||
|
@ -498,6 +498,20 @@ public class DebuggerBreakpointMarkerPluginTest extends AbstractGhidraHeadedDebu
|
||||
dynamicCtx(trace, addr(trace, 0x55550123)), true);
|
||||
|
||||
waitForPass(() -> assertEquals(Enablement.ENABLED, lb.computeEnablementForTrace(trace)));
|
||||
|
||||
lb.disable();
|
||||
waitForPass(() -> assertEquals(Enablement.DISABLED, lb.computeEnablementForTrace(trace)));
|
||||
|
||||
performAction(breakpointMarkerPlugin.actionToggleBreakpoint,
|
||||
dynamicCtx(trace, addr(trace, 0x55550123)), true);
|
||||
|
||||
waitForPass(
|
||||
() -> assertEquals(Enablement.ENABLED_DISABLED, lb.computeEnablementForTrace(trace)));
|
||||
|
||||
performAction(breakpointMarkerPlugin.actionToggleBreakpoint,
|
||||
dynamicCtx(trace, addr(trace, 0x55550123)), true);
|
||||
|
||||
waitForPass(() -> assertEquals(Enablement.DISABLED, lb.computeEnablementForTrace(trace)));
|
||||
}
|
||||
|
||||
protected void testActionSetBreakpointProgram(DockingAction action,
|
||||
|
Loading…
Reference in New Issue
Block a user