Merge remote-tracking branch 'origin/GP-3074_Dan_emulatorTool--SQUASHED'

(Closes #4931)
This commit is contained in:
Ryan Kurtz 2023-04-24 06:54:35 -04:00
commit aaa005c7af
12 changed files with 1283 additions and 14 deletions

View file

@ -89,6 +89,7 @@ src/main/help/help/topics/VariableValueHoverPlugin/images/VariableValueHoverPlug
src/main/help/help/topics/VariableValueHoverPlugin/images/VariableValueHoverPluginDecompiler.png||GHIDRA||||END| src/main/help/help/topics/VariableValueHoverPlugin/images/VariableValueHoverPluginDecompiler.png||GHIDRA||||END|
src/main/help/help/topics/VariableValueHoverPlugin/images/VariableValueHoverPluginListing.png||GHIDRA||||END| src/main/help/help/topics/VariableValueHoverPlugin/images/VariableValueHoverPluginListing.png||GHIDRA||||END|
src/main/resources/defaultTools/Debugger.tool||GHIDRA||||END| src/main/resources/defaultTools/Debugger.tool||GHIDRA||||END|
src/main/resources/defaultTools/Emulator.tool||GHIDRA||||END|
src/main/resources/images/add.png||FAMFAMFAM Icons - CC 2.5|||famfamfam silk icon set|END| src/main/resources/images/add.png||FAMFAMFAM Icons - CC 2.5|||famfamfam silk icon set|END|
src/main/resources/images/attach.png||GHIDRA||||END| src/main/resources/images/attach.png||GHIDRA||||END|
src/main/resources/images/autoread.png||GHIDRA||||END| src/main/resources/images/autoread.png||GHIDRA||||END|
@ -122,6 +123,7 @@ src/main/resources/images/object-running.png||GHIDRA||||END|
src/main/resources/images/object-terminated.png||GHIDRA||||END| src/main/resources/images/object-terminated.png||GHIDRA||||END|
src/main/resources/images/object-unpopulated.png||GHIDRA||||END| src/main/resources/images/object-unpopulated.png||GHIDRA||||END|
src/main/resources/images/process.png||GHIDRA||||END| src/main/resources/images/process.png||GHIDRA||||END|
src/main/resources/images/process32.png||GHIDRA||||END|
src/main/resources/images/record.png||GHIDRA||||END| src/main/resources/images/record.png||GHIDRA||||END|
src/main/resources/images/register-marker.png||GHIDRA||||END| src/main/resources/images/register-marker.png||GHIDRA||||END|
src/main/resources/images/registers.png||GHIDRA||||END| src/main/resources/images/registers.png||GHIDRA||||END|

View file

@ -32,7 +32,6 @@ import ghidra.framework.plugintool.util.PluginStatus;
status = PluginStatus.RELEASED, status = PluginStatus.RELEASED,
servicesRequired = { servicesRequired = {
DebuggerLogicalBreakpointService.class, DebuggerLogicalBreakpointService.class,
DebuggerModelService.class,
}, },
eventsConsumed = { eventsConsumed = {
TraceOpenedPluginEvent.class, TraceOpenedPluginEvent.class,

View file

@ -76,7 +76,6 @@ import utilities.util.SuppressableCallback.Suppression;
TraceSelectionPluginEvent.class TraceSelectionPluginEvent.class
}, },
servicesRequired = { servicesRequired = {
DebuggerModelService.class, // For memory capture
DebuggerStaticMappingService.class, // For static listing sync. TODO: Optional? DebuggerStaticMappingService.class, // For static listing sync. TODO: Optional?
DebuggerEmulationService.class, // TODO: Optional? DebuggerEmulationService.class, // TODO: Optional?
ProgramManager.class, // For static listing sync ProgramManager.class, // For static listing sync

View file

@ -59,7 +59,6 @@ import ghidra.program.util.ProgramSelection;
TraceSelectionPluginEvent.class, TraceSelectionPluginEvent.class,
}, },
servicesRequired = { servicesRequired = {
DebuggerModelService.class, // For memory capture
ClipboardService.class, ClipboardService.class,
}) })
public class DebuggerMemoryBytesPlugin public class DebuggerMemoryBytesPlugin

View file

@ -38,7 +38,6 @@ import ghidra.framework.plugintool.util.PluginStatus;
TraceActivatedPluginEvent.class, TraceActivatedPluginEvent.class,
}, },
servicesRequired = { servicesRequired = {
DebuggerModelService.class,
DebuggerStaticMappingService.class, DebuggerStaticMappingService.class,
DebuggerTraceManagerService.class, DebuggerTraceManagerService.class,
ProgramManager.class, ProgramManager.class,

View file

@ -37,7 +37,6 @@ import ghidra.framework.plugintool.util.PluginStatus;
TraceActivatedPluginEvent.class, TraceActivatedPluginEvent.class,
}, },
servicesRequired = { servicesRequired = {
DebuggerModelService.class,
DebuggerStaticMappingService.class, DebuggerStaticMappingService.class,
DebuggerTraceManagerService.class, DebuggerTraceManagerService.class,
ProgramManager.class, ProgramManager.class,

View file

@ -46,7 +46,6 @@ import ghidra.util.Msg;
TraceClosedPluginEvent.class, TraceClosedPluginEvent.class,
}, },
servicesRequired = { servicesRequired = {
DebuggerModelService.class,
DebuggerTraceManagerService.class, DebuggerTraceManagerService.class,
MarkerService.class, // TODO MarkerService.class, // TODO
DataTypeManagerService.class, // For DataType selection field DataTypeManagerService.class, // For DataType selection field

View file

@ -468,8 +468,6 @@ public class DebuggerRegistersProvider extends ComponentProviderAdapter
private Trace currentTrace; // Copy for transition private Trace currentTrace; // Copy for transition
private TraceRecorder currentRecorder; // Copy for transition private TraceRecorder currentRecorder; // Copy for transition
@AutoServiceConsumed
private DebuggerModelService modelService;
@AutoServiceConsumed @AutoServiceConsumed
private DebuggerTraceManagerService traceManager; private DebuggerTraceManagerService traceManager;
@AutoServiceConsumed @AutoServiceConsumed

View file

@ -37,7 +37,6 @@ import ghidra.framework.plugintool.util.PluginStatus;
DebuggerWatchesService.class, DebuggerWatchesService.class,
}, },
servicesRequired = { servicesRequired = {
DebuggerModelService.class,
DebuggerTraceManagerService.class, DebuggerTraceManagerService.class,
DataTypeManagerService.class, // For DataType selection field DataTypeManagerService.class, // For DataType selection field
}) })

View file

@ -41,7 +41,8 @@ import ghidra.framework.model.*;
import ghidra.framework.plugintool.*; import ghidra.framework.plugintool.*;
import ghidra.framework.plugintool.annotation.AutoServiceConsumed; import ghidra.framework.plugintool.annotation.AutoServiceConsumed;
import ghidra.framework.plugintool.util.PluginStatus; import ghidra.framework.plugintool.util.PluginStatus;
import ghidra.program.model.address.*; import ghidra.program.model.address.Address;
import ghidra.program.model.address.AddressRange;
import ghidra.program.model.listing.*; import ghidra.program.model.listing.*;
import ghidra.program.util.*; import ghidra.program.util.*;
import ghidra.trace.model.*; import ghidra.trace.model.*;
@ -70,7 +71,6 @@ import ghidra.util.datastruct.ListenerSet;
}, },
servicesRequired = { servicesRequired = {
DebuggerTraceManagerService.class, DebuggerTraceManagerService.class,
DebuggerModelService.class,
DebuggerStaticMappingService.class, DebuggerStaticMappingService.class,
}, },
servicesProvided = { servicesProvided = {
@ -1006,7 +1006,7 @@ public class DebuggerLogicalBreakpointServicePlugin extends Plugin
private void traceOpened(Trace trace) { private void traceOpened(Trace trace) {
processChange(c -> { processChange(c -> {
TraceRecorder recorder = modelService.getRecorder(trace); TraceRecorder recorder = modelService == null ? null : modelService.getRecorder(trace);
long snap = traceManager.getCurrentFor(trace).getSnap(); long snap = traceManager.getCurrentFor(trace).getSnap();
doTrackTrace(c, trace, recorder, snap); doTrackTrace(c, trace, recorder, snap);
}, "traceOpened"); }, "traceOpened");
@ -1171,7 +1171,7 @@ public class DebuggerLogicalBreakpointServicePlugin extends Plugin
public CompletableFuture<Void> placeBreakpointAt(Trace trace, Address address, long length, public CompletableFuture<Void> placeBreakpointAt(Trace trace, Address address, long length,
Collection<TraceBreakpointKind> kinds, String name) { Collection<TraceBreakpointKind> kinds, String name) {
long snap = traceManager.getCurrentFor(trace).getSnap(); long snap = traceManager.getCurrentFor(trace).getSnap();
TraceRecorder recorder = modelService.getRecorder(trace); TraceRecorder recorder = modelService == null ? null : modelService.getRecorder(trace);
ProgramLocation staticLocation = mappingService.getOpenMappedLocation( ProgramLocation staticLocation = mappingService.getOpenMappedLocation(
new DefaultTraceLocation(trace, null, Lifespan.at(snap), address)); new DefaultTraceLocation(trace, null, Lifespan.at(snap), address));
@ -1268,7 +1268,8 @@ public class DebuggerLogicalBreakpointServicePlugin extends Plugin
private void planActOnLocTarget(BreakpointActionSet actions, TraceBreakpoint tb, private void planActOnLocTarget(BreakpointActionSet actions, TraceBreakpoint tb,
BiConsumer<BreakpointActionSet, TargetBreakpointLocation> targetLocConsumer) { BiConsumer<BreakpointActionSet, TargetBreakpointLocation> targetLocConsumer) {
TraceRecorder recorder = modelService.getRecorder(tb.getTrace()); TraceRecorder recorder =
modelService == null ? null : modelService.getRecorder(tb.getTrace());
if (recorder == null) { if (recorder == null) {
return; return;
} }

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB