| Summary: | [vm][cache] Stack frames missing in debug view | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | Marc Khouzam <marc.khouzam> | ||||||||||||
| Component: | cdt-debug-dsf-gdb | Assignee: | Pawel Piech <pawel.1.piech> | ||||||||||||
| Status: | RESOLVED FIXED | QA Contact: | Marc Khouzam <marc.khouzam> | ||||||||||||
| Severity: | major | ||||||||||||||
| Priority: | P3 | CC: | aleherb+eclipse, pawel.1.piech | ||||||||||||
| Version: | 7.0 | Flags: | marc.khouzam:
review+
|
||||||||||||
| Target Milestone: | 7.0 | ||||||||||||||
| Hardware: | PC | ||||||||||||||
| OS: | Linux | ||||||||||||||
| Whiteboard: | |||||||||||||||
| Attachments: |
|
||||||||||||||
|
Description
Marc Khouzam
Created attachment 166846 [details]
Snapshot after refreshing the view
Snapshots of before and after a refresh. We can see some missing frames.
Created attachment 166902 [details]
Fix.
(In reply to comment #0) > I believe the fix to Bug 310992 is causing problems in the debug view. When I > step into a recursive method, I only see two stack frames in the debug view. > If I refresh the view, I see all the frames. Fortunately it's a false alarm, the bug is a caching bug in MIStack. Marc, please review. (In reply to comment #3) > Fortunately it's a false alarm, the bug is a caching bug in MIStack. Nice find. Thanks, Pawel! Created attachment 166950 [details] Tiny simplification Thanks for the fix Pawel! I guess the extra refresh that was removed by bug 310992 was hiding this bug. Sorry about the mis-diagnosis. I've committed this patch to simplify the check that had the error. I hope that is ok with you. Created attachment 166952 [details]
Java doc fix
Looking at this code, I realize that the javadoc for IStack.getStackDepth() is not clear (I wrote it :-( ). I think we should indicate if getStackDepth() should restrict itself to maxDepth or if it is allowed to return a number greater than stackDepth.
After thinking about it, I think we should allow the service to return more depth that requested if it wants (it could be a cheap operation). In fact, the DSF-GDB implementation, when using the cache you just fixed, does not always respect the maxDepth param. But the views are prepared for that.
I suggest the following change. Not committed.
What do you think?
(In reply to comment #5) > I've committed this patch to simplify the check that had the error. I hope > that is ok with you. +1 (In reply to comment #6) > I suggest the following change. Not committed. > What do you think? Yes, this makes sense to me. (In reply to comment #7) > (In reply to comment #6) > > I suggest the following change. Not committed. > > What do you think? > Yes, this makes sense to me. Thanks. Committed to HEAD. *** cdt cvs genie on behalf of ppiech *** Bug 311416 - [vm][cache] Stack frames missing in debug view. [*] MIStack.java 1.14 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIStack.java?root=Tools_Project&r1=1.13&r2=1.14 [*] MIStack.java 1.15 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIStack.java?root=Tools_Project&r1=1.14&r2=1.15 *** cdt cvs genie on behalf of mkhouzam *** Bug 311416: Clarify javadoc [*] IStack.java 1.6 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/debug/service/IStack.java?root=Tools_Project&r1=1.5&r2=1.6 |