diff --git a/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/model/iface1/DbgModelTargetActiveScope.java b/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/model/iface1/DbgModelTargetActiveScope.java index 2de8b68137..450ec57a2f 100644 --- a/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/model/iface1/DbgModelTargetActiveScope.java +++ b/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/model/iface1/DbgModelTargetActiveScope.java @@ -52,7 +52,7 @@ public interface DbgModelTargetActiveScope extends DbgModelTargetObject, TargetA while (cur != null) { if (cur instanceof DbgModelSelectableObject) { DbgModelSelectableObject sel = (DbgModelSelectableObject) cur; - System.err.println("requestActivation " + obj); + //System.err.println("requestActivation " + obj); return sel.setActive(); } if (cur instanceof DbgModelTargetObject) { diff --git a/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/model/iface1/DbgModelTargetFocusScope.java b/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/model/iface1/DbgModelTargetFocusScope.java index 6fc155314a..60a5d54d1a 100644 --- a/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/model/iface1/DbgModelTargetFocusScope.java +++ b/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/model/iface1/DbgModelTargetFocusScope.java @@ -61,7 +61,7 @@ public interface DbgModelTargetFocusScope extends DbgModelTargetObject, TargetFo while (cur != null) { if (cur instanceof DbgModelSelectableObject) { DbgModelSelectableObject sel = (DbgModelSelectableObject) cur; - System.err.println("requestFocus " + obj); + //System.err.println("requestFocus " + obj); setFocus(sel); return AsyncUtils.NIL; } 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 4b9e63f5f6..aa68aee48d 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 @@ -117,6 +117,7 @@ public class TraceObjectManager { this::attributesChangedBreakpointLocation); putAttributesHandler(TargetRegister.class, this::attributesChangedRegister); putAttributesHandler(TargetStackFrame.class, this::attributesChangedStackFrame); + putAttributesHandler(TargetThread.class, this::attributesChangedThread); putRemHandler(TargetProcess.class, this::removeProcess); putRemHandler(TargetThread.class, this::removeThread); @@ -515,6 +516,19 @@ public class TraceObjectManager { } } + public void attributesChangedThread(TargetObject thread, Map added) { + if (added.containsKey(TargetObject.DISPLAY_ATTRIBUTE_NAME)) { + ManagedThreadRecorder rec = recorder.getThreadRecorderForSuccessor(thread); + if (rec != null) { + String name = (String) added.get(TargetObject.DISPLAY_ATTRIBUTE_NAME); + try (UndoableTransaction tid = + UndoableTransaction.start(rec.getTrace(), "Renamed thread", true)) { + rec.getTraceThread().setName(name); + } + } + } + } + public void elementsChangedBreakpointLocationContainer(TargetObject locationContainer, Map added) { TargetObject x = findThreadOrProcess(locationContainer);