diff --git a/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/service/tracermi/TraceRmiTarget.java b/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/service/tracermi/TraceRmiTarget.java index 93547415a1..9dbc95db5a 100644 --- a/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/service/tracermi/TraceRmiTarget.java +++ b/Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/service/tracermi/TraceRmiTarget.java @@ -976,6 +976,15 @@ public class TraceRmiTarget extends AbstractTarget { } protected TraceObject getProcessForSpace(AddressSpace space) { + List processes = trace.getObjectManager() + .queryAllInterface(Lifespan.at(getSnap()), TraceObjectProcess.class) + .toList(); + if (processes.size() == 1) { + return processes.get(0).getObject(); + } + if (processes.isEmpty()) { + return null; + } for (TraceMemoryRegion region : trace.getMemoryManager() .getRegionsIntersecting( Lifespan.at(getSnap()), diff --git a/Ghidra/Test/DebuggerIntegrationTest/src/test/java/ghidra/app/plugin/core/debug/gui/listing/DebuggerListingProviderTest.java b/Ghidra/Test/DebuggerIntegrationTest/src/test/java/ghidra/app/plugin/core/debug/gui/listing/DebuggerListingProviderTest.java index 63d7101fc0..c3dd9d99d6 100644 --- a/Ghidra/Test/DebuggerIntegrationTest/src/test/java/ghidra/app/plugin/core/debug/gui/listing/DebuggerListingProviderTest.java +++ b/Ghidra/Test/DebuggerIntegrationTest/src/test/java/ghidra/app/plugin/core/debug/gui/listing/DebuggerListingProviderTest.java @@ -25,7 +25,8 @@ import java.math.BigInteger; import java.nio.ByteBuffer; import java.util.Set; -import org.junit.*; +import org.junit.Before; +import org.junit.Test; import org.junit.experimental.categories.Category; import db.Transaction; @@ -731,7 +732,7 @@ public class DebuggerListingProviderTest extends AbstractGhidraHeadedDebuggerInt runSwing(() -> tb.trace.getProgramView().getMemory().setForceFullView(true)); - goToDyn(tb.addr(0x55550000)); + goToDyn(tb.addr(0x55550800)); runSwing(() -> listingProvider.setAutoReadMemorySpec(spec)); handleReadMemInvocation(process, tb.range(0x55550000, 0x55550fff)); @@ -742,13 +743,11 @@ public class DebuggerListingProviderTest extends AbstractGhidraHeadedDebuggerInt } @Test - @Ignore("Until GP-5180") public void testAutoReadMemoryVisROOnceReadsWithForceFullView() throws Throwable { runTestAutoReadMemoryReadsWithForceFullView(readVisROOnce); } @Test - @Ignore("Until GP-5180") public void testAutoReadMemoryVisibleReadsWithForceFullView() throws Throwable { runTestAutoReadMemoryReadsWithForceFullView(readVisible); }