diff --git a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/stack/AnalysisUnwoundFrame.java b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/stack/AnalysisUnwoundFrame.java index 1c583fd6d7..ac495428de 100644 --- a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/stack/AnalysisUnwoundFrame.java +++ b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/stack/AnalysisUnwoundFrame.java @@ -221,9 +221,12 @@ public class AnalysisUnwoundFrame extends AbstractUnwoundFrame { * Generate the structure for {@link #resolveStructure(int)} * * @param prevParamSize the number of bytes occupied by the parameters for the next frame down. - * @return the generated structure + * @return the generated structure or null if {@link UnwindInfo info} contains an error. */ protected Structure generateStructure(int prevParamSize) { + if (info.error() != null) { + return null; + } FrameStructureBuilder builder = new FrameStructureBuilder(language, staticPcVal, info, prevParamSize); return builder.build(StackUnwinder.FRAMES_PATH, "frame_" + pcVal.toString(false), diff --git a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/stack/UnwindStackCommand.java b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/stack/UnwindStackCommand.java index 73ad2c2071..61849a178d 100644 --- a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/stack/UnwindStackCommand.java +++ b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/stack/UnwindStackCommand.java @@ -46,7 +46,7 @@ public class UnwindStackCommand extends TypedBackgroundCommand { for (AnalysisUnwoundFrame frame : unwinder.frames(where.frame(0), monitor)) { UnwindInfo info = frame.getUnwindInfo(); - if (info != null) { + if (info != null && info.error() == null) { frame.applyToListing(prevParamSize, monitor); prevParamSize = info.computeParamSize(); }