mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-09-28 17:11:11 -09:00
Merge remote-tracking branch 'origin/debugger'
This commit is contained in:
@@ -49,7 +49,7 @@ public class GdbM68kDebuggerMappingOpinion implements DebuggerMappingOpinion {
|
||||
return Set.of();
|
||||
}
|
||||
String arch = env.getArchitecture();
|
||||
if (arch.startsWith("mips:32")) {
|
||||
if (arch.startsWith("m68k")) {
|
||||
return Set.of(new GdbM68kBELinux32DefOffer(process));
|
||||
}
|
||||
return Set.of();
|
||||
|
||||
@@ -117,7 +117,7 @@ interface LogicalBreakpointInternal extends LogicalBreakpoint {
|
||||
return ProgramEnablement.DISABLED;
|
||||
}
|
||||
else {
|
||||
return ProgramEnablement.NONE;
|
||||
return ProgramEnablement.MISSING;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -306,9 +306,6 @@ interface LogicalBreakpointInternal extends LogicalBreakpoint {
|
||||
|
||||
public TraceEnablement computeEnablement() {
|
||||
TraceEnablement en = TraceEnablement.MISSING;
|
||||
if (breakpoints.isEmpty()) {
|
||||
return TraceEnablement.MISSING;
|
||||
}
|
||||
for (IDHashed<TraceBreakpoint> bpt : breakpoints) {
|
||||
en = en.combine(TraceEnablement.fromBool(bpt.obj.isEnabled()));
|
||||
if (en == TraceEnablement.MIXED) {
|
||||
|
||||
@@ -413,7 +413,7 @@ public class DebuggerLogicalBreakpointServiceTest extends AbstractGhidraHeadedDe
|
||||
assertEquals(addr(program, 0x00400123), enLb.getProgramLocation().getAddress());
|
||||
assertEquals(enBm, enLb.getProgramBookmark());
|
||||
assertTrue(enLb.getMappedTraces().isEmpty());
|
||||
assertEquals(Enablement.ENABLED, enLb.computeEnablementForProgram(program));
|
||||
assertEquals(Enablement.INEFFECTIVE_ENABLED, enLb.computeEnablementForProgram(program));
|
||||
assertEquals(Set.of(TraceBreakpointKind.SW_EXECUTE), enLb.getKinds());
|
||||
|
||||
LogicalBreakpoint disLb = Unique
|
||||
@@ -422,7 +422,7 @@ public class DebuggerLogicalBreakpointServiceTest extends AbstractGhidraHeadedDe
|
||||
assertEquals(addr(program, 0x00400321), disLb.getProgramLocation().getAddress());
|
||||
assertEquals(disBm, disLb.getProgramBookmark());
|
||||
assertTrue(disLb.getMappedTraces().isEmpty());
|
||||
assertEquals(Enablement.DISABLED, disLb.computeEnablementForProgram(program));
|
||||
assertEquals(Enablement.INEFFECTIVE_DISABLED, disLb.computeEnablementForProgram(program));
|
||||
assertEquals(Set.of(TraceBreakpointKind.SW_EXECUTE), disLb.getKinds());
|
||||
}
|
||||
|
||||
@@ -438,8 +438,8 @@ public class DebuggerLogicalBreakpointServiceTest extends AbstractGhidraHeadedDe
|
||||
assertEquals(addr(trace, 0x55550123), enLb.getTraceAddress(trace));
|
||||
assertEquals(Set.of(), enLb.getTraceBreakpoints(trace));
|
||||
assertEquals(Set.of(), enLb.getTraceBreakpoints());
|
||||
assertEquals(Enablement.ENABLED_DISABLED, enLb.computeEnablementForProgram(program));
|
||||
assertEquals(Enablement.DISABLED_ENABLED, enLb.computeEnablementForTrace(trace));
|
||||
assertEquals(Enablement.INEFFECTIVE_ENABLED, enLb.computeEnablementForProgram(program));
|
||||
assertEquals(Enablement.INEFFECTIVE_ENABLED, enLb.computeEnablementForTrace(trace));
|
||||
|
||||
LogicalBreakpoint disLb = Unique
|
||||
.assertOne(breakpointService.getBreakpointsAt(program, addr(program, 0x00400321)));
|
||||
@@ -450,8 +450,8 @@ public class DebuggerLogicalBreakpointServiceTest extends AbstractGhidraHeadedDe
|
||||
assertEquals(addr(trace, 0x55550321), disLb.getTraceAddress(trace));
|
||||
assertEquals(Set.of(), disLb.getTraceBreakpoints(trace));
|
||||
assertEquals(Set.of(), disLb.getTraceBreakpoints());
|
||||
assertEquals(Enablement.DISABLED, disLb.computeEnablementForProgram(program));
|
||||
assertEquals(Enablement.DISABLED, disLb.computeEnablementForTrace(trace));
|
||||
assertEquals(Enablement.INEFFECTIVE_DISABLED, disLb.computeEnablementForProgram(program));
|
||||
assertEquals(Enablement.INEFFECTIVE_DISABLED, disLb.computeEnablementForTrace(trace));
|
||||
}
|
||||
|
||||
protected void assertLogicalBreakpointForMappedBookmarkAnd2TraceBreakpoints(Trace trace1,
|
||||
@@ -490,9 +490,9 @@ public class DebuggerLogicalBreakpointServiceTest extends AbstractGhidraHeadedDe
|
||||
assertEquals(Set.of(), disLb.getTraceBreakpoints(trace1));
|
||||
assertEquals(Set.of(), disLb.getTraceBreakpoints(trace2));
|
||||
assertEquals(Set.of(), disLb.getTraceBreakpoints());
|
||||
assertEquals(Enablement.DISABLED, disLb.computeEnablementForProgram(program));
|
||||
assertEquals(Enablement.DISABLED, disLb.computeEnablementForTrace(trace1));
|
||||
assertEquals(Enablement.DISABLED, disLb.computeEnablementForTrace(trace2));
|
||||
assertEquals(Enablement.INEFFECTIVE_DISABLED, disLb.computeEnablementForProgram(program));
|
||||
assertEquals(Enablement.INEFFECTIVE_DISABLED, disLb.computeEnablementForTrace(trace1));
|
||||
assertEquals(Enablement.INEFFECTIVE_DISABLED, disLb.computeEnablementForTrace(trace2));
|
||||
}
|
||||
|
||||
protected void assertLogicalBreakpointForMappedBookmarkAnd1TraceBreakpoint(Trace trace) {
|
||||
@@ -522,8 +522,8 @@ public class DebuggerLogicalBreakpointServiceTest extends AbstractGhidraHeadedDe
|
||||
assertEquals(addr(trace, 0x55550321), disLb.getTraceAddress(trace));
|
||||
assertEquals(Set.of(), disLb.getTraceBreakpoints(trace));
|
||||
assertEquals(Set.of(), disLb.getTraceBreakpoints());
|
||||
assertEquals(Enablement.DISABLED, disLb.computeEnablementForProgram(program));
|
||||
assertEquals(Enablement.DISABLED, disLb.computeEnablementForTrace(trace));
|
||||
assertEquals(Enablement.INEFFECTIVE_DISABLED, disLb.computeEnablementForProgram(program));
|
||||
assertEquals(Enablement.INEFFECTIVE_DISABLED, disLb.computeEnablementForTrace(trace));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user