From 6398db9587f2ac9bebd2b316b5c7fb7a294f2f9c Mon Sep 17 00:00:00 2001 From: Dan <46821332+nsadeveloper789@users.noreply.github.com> Date: Tue, 6 Apr 2021 13:46:37 -0400 Subject: [PATCH] GP-0: Fixed issue preventing placement of breakpoints with GDB --- .../service/model/TraceObjectManager.java | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) 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 0782b9326a..89af511689 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 @@ -403,19 +403,15 @@ public class TraceObjectManager { public void addBreakpointContainer(TargetObject added) { TargetObject obj = findThreadOrProcess(added); - if (obj != null) { - ManagedBreakpointRecorder breakpointRecorder = recorder.breakpointRecorder; - if (obj instanceof TargetThread) { - ManagedBreakpointRecorder rec = - recorder.getThreadRecorderForSuccessor(added).getBreakpointRecorder(); - rec.offerBreakpointContainer((TargetBreakpointSpecContainer) added); - return; - } - breakpointRecorder.offerBreakpointContainer((TargetBreakpointSpecContainer) added); - } - else { - Msg.error(this, "Error recording breakpoint container " + added); + // NB. obj can be null + ManagedBreakpointRecorder breakpointRecorder = recorder.breakpointRecorder; + if (obj instanceof TargetThread) { + ManagedBreakpointRecorder rec = + recorder.getThreadRecorderForSuccessor(added).getBreakpointRecorder(); + rec.offerBreakpointContainer((TargetBreakpointSpecContainer) added); + return; } + breakpointRecorder.offerBreakpointContainer((TargetBreakpointSpecContainer) added); } public void removeBreakpointContainer(TargetObject removed) {