diff --git a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/service/model/TraceObjectManager.java b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/service/model/TraceObjectManager.java index ae9c57391c..5de11d20cb 100644 --- a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/service/model/TraceObjectManager.java +++ b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/service/model/TraceObjectManager.java @@ -256,7 +256,13 @@ public class TraceObjectManager { recorder.createSnapshot(traceThread + " started", traceThread, null); try (UndoableTransaction tid = UndoableTransaction.start(recorder.getTrace(), "Adjust thread creation", true)) { - traceThread.setCreationSnap(recorder.getSnap()); + long existing = traceThread.getCreationSnap(); + if (existing == Long.MIN_VALUE) { + traceThread.setCreationSnap(recorder.getSnap()); + } + else { + traceThread.setDestructionSnap(Long.MAX_VALUE); + } } catch (DuplicateNameException e) { throw new AssertionError(e); // Should be shrinking