mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-09-28 17:11:11 -09:00
debugger: follow on to GP-601, fix for Threads
This commit is contained in:
@@ -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<String, ?> 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<String, ?> added) {
|
||||
TargetObject x = findThreadOrProcess(locationContainer);
|
||||
|
||||
Reference in New Issue
Block a user