| Summary: | [variables] Expansion state get lost in variable view when run halt between two functions, and evalute to a wrong thing when step into fast | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | Winnie Lai <wlai> | ||||||
| Component: | cdt-debug-dsf | Assignee: | Project Inbox <cdt-debug-dsf-inbox> | ||||||
| Status: | NEW --- | QA Contact: | Jonah Graham <jonah> | ||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | cdtdoug | ||||||
| Version: | 8.0 | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | PC | ||||||||
| OS: | All | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
Created attachment 203804 [details]
test program
Created attachment 203805 [details]
another_issue screenshot
|
Build Identifier: 3.7 I20110613-1736 In eclipse 3.7 final release, there are two issue but may be related. 1) Expansion states on nodes get lost when run /halt between two functions. 2) Nodes on both variables view and expression view evaluate to a wrong thing if I steps into functions fast and finally halt at a function. The evaluations are still wrong even if I manually refresh the views after halt. For (1), here is the steps of how I test the eclipse using dsf and gdb, - use attached program to launch dsf gdb debug session. - set one breakpoint at line 46 (main() { ... gk[t % 101] = f1(t);) and another at line 39 (f1() { ... return s; }). - run the program and it halts at line 46. - run the program again and it halts at 39. Expand the node j and the node arstruct in Variables view. - run the program again, which halts at line 46. - run the program again, which halts at line 39. But the nodes j and arstruct are collapsed instead of expanded. For (2), I use the same program. In a fast fashion, I 'steps into' from main() into f1() then into f2() and cycling among these 3 functions. Eventually, I halt at f2(), the j variable on both expression view and variables view does not reflect what it should for f2(). The screenshot (another_issue.png) shows the j variable is an expanded node with an array will blank entries. In fact, j on f2() is a simple int instead of an array. Reproducible: Always