diff --git a/Ghidra/Debug/Debugger/src/test/java/ghidra/app/plugin/core/debug/service/breakpoint/DebuggerLogicalBreakpointServiceTest.java b/Ghidra/Debug/Debugger/src/test/java/ghidra/app/plugin/core/debug/service/breakpoint/DebuggerLogicalBreakpointServiceTest.java index 42f67676a0..e81e2856ba 100644 --- a/Ghidra/Debug/Debugger/src/test/java/ghidra/app/plugin/core/debug/service/breakpoint/DebuggerLogicalBreakpointServiceTest.java +++ b/Ghidra/Debug/Debugger/src/test/java/ghidra/app/plugin/core/debug/service/breakpoint/DebuggerLogicalBreakpointServiceTest.java @@ -1421,16 +1421,13 @@ public class DebuggerLogicalBreakpointServiceTest extends AbstractGhidraHeadedDe LogicalBreakpoint lb = Unique.assertOne(breakpointService.getAllBreakpoints()); // Simulate a step, which should also cause snap advance in recorder - long oldSnap = recorder1.getSnap(); mb.testModel.session.simulateStep(mb.testThread1); - waitOn(mb.testModel.flushEvents()); - // NB. recorder may have its own threads / queues - waitForPass(() -> assertTrue(recorder1.getSnap() > oldSnap)); + waitRecorder(recorder1); waitOn(lb.delete()); waitForPass(() -> { - assertTrue(breakpointService.getAllBreakpoints().isEmpty()); + assertEquals(0, breakpointService.getAllBreakpoints().size()); }); } diff --git a/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/target/InternalTraceObjectValue.java b/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/target/InternalTraceObjectValue.java index 1958e7b9fc..1fa3c6e03d 100644 --- a/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/target/InternalTraceObjectValue.java +++ b/Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/target/InternalTraceObjectValue.java @@ -151,6 +151,10 @@ interface InternalTraceObjectValue extends TraceObjectValue { return getParent().doCreateValue(range, getEntryKey(), value); } }.set(lifespan, getValue()); + if (isObject()) { + DBTraceObject child = getChild(); + child.emitEvents(new TraceChangeRecord<>(TraceObjectChangeType.LIFE_CHANGED, null, child)); + } } }