This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 255996
Collapse All | Expand All

(-)a/cnd.debugger.gdb2/src/org/netbeans/modules/cnd/debugger/gdb2/GdbDebuggerImpl.java (-18 / +9 lines)
Lines 149-155 Link Here
149
    static final Logger LOG = Logger.getLogger(GdbDebuggerImpl.class.toString());
149
    static final Logger LOG = Logger.getLogger(GdbDebuggerImpl.class.toString());
150
150
151
    private final GdbHandlerExpert handlerExpert;
151
    private final GdbHandlerExpert handlerExpert;
152
    private MILocation homeLoc;
152
    private volatile MILocation homeLoc;
153
    private boolean dynamicType;
153
    private boolean dynamicType;
154
154
155
    private DisModel disModel = new DisModel();
155
    private DisModel disModel = new DisModel();
Lines 2554-2560 Link Here
2554
        }
2554
        }
2555
2555
2556
        stackUpdater.treeChanged();     // causes a pull
2556
        stackUpdater.treeChanged();     // causes a pull
2557
        disassembly.stateUpdated();
2557
//        disassembly.stateUpdated();
2558
    }
2558
    }
2559
2559
2560
    /*
2560
    /*
Lines 3749-3755 Link Here
3749
            MIValue frameValue = (results != null) ? results.valueOf(MI_FRAME) : null;
3749
            MIValue frameValue = (results != null) ? results.valueOf(MI_FRAME) : null;
3750
            MITList frameTuple;
3750
            MITList frameTuple;
3751
            MITList stack;
3751
            MITList stack;
3752
            boolean visited = false;
3753
	    // Mac 10.4 gdb provides no "frame" attribute
3752
	    // Mac 10.4 gdb provides no "frame" attribute
3754
3753
3755
            // For the scenario that stack view is closed and local view
3754
            // For the scenario that stack view is closed and local view
Lines 3761-3779 Link Here
3761
            }
3760
            }
3762
3761
3763
	    if (srcResults != null) {
3762
	    if (srcResults != null) {
3763
                boolean visited = false;
3764
                stack = srcResults.valueOf("stack").asList(); // NOI18N
3764
                stack = srcResults.valueOf("stack").asList(); // NOI18N
3765
		if (false) {
3765
                frameValue = ((MIResult) stack.asList().get(0)).value();
3766
		    // We have information about what src location we're
3766
                frameTuple = frameValue.asTuple();
3767
		    // stopped in.
3768
		    if (frameValue != null)
3769
			frameTuple = frameValue.asTuple();
3770
		    homeLoc = MILocation.make(this, frameTuple, srcResults, false, stack.size(), breakpoint);
3771
3772
		} else {
3773
                    frameValue = ((MIResult)stack.asList().get(0)).value();
3774
		    frameTuple = frameValue.asTuple();
3775
		    homeLoc = MILocation.make(this, frameTuple, null, false, stack.size(), breakpoint);
3776
                }
3777
3767
3778
                // find the first frame with source info if dis was not requested
3768
                // find the first frame with source info if dis was not requested
3779
                for (MITListItem stf : stack.asList()) {
3769
                for (MITListItem stf : stack.asList()) {
Lines 3783-3798 Link Here
3783
                    }
3773
                    }
3784
                    visited = true;
3774
                    visited = true;
3785
                }
3775
                }
3786
3776
                homeLoc = MILocation.make(this, frameTuple, srcResults, visited, stack.size(), breakpoint);
3787
                state().isUpAllowed = !homeLoc.bottomframe();
3777
                state().isUpAllowed = !homeLoc.bottomframe();
3788
                state().isDownAllowed = !homeLoc.topframe();
3778
                state().isDownAllowed = !homeLoc.topframe();
3789
                setStack(srcRecord);
3779
                setStack(srcRecord);
3790
	    } else {
3780
	    } else {
3791
                frameTuple = ( frameValue == null ? null : frameValue.asTuple() );
3781
                frameTuple = ( frameValue == null ? null : frameValue.asTuple() );
3792
                stack = null;
3782
                stack = null;
3783
                homeLoc = MILocation.make(this, frameTuple, null, false, 0, breakpoint);
3793
            }
3784
            }
3794
3785
            
3795
            setVisitedLocation(MILocation.make(this, frameTuple, null, visited, (stack == null ? 0 :stack.size()), breakpoint));
3786
            setVisitedLocation(homeLoc);
3796
3787
3797
//            if (get_frames || get_locals) {
3788
//            if (get_frames || get_locals) {
3798
//                showStackFrames();
3789
//                showStackFrames();

Return to bug 255996