Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 358488

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-dsfAssignee: 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:
Description Flags
test program
none
another_issue screenshot none

Description Winnie Lai CLA 2011-09-21 16:28:35 EDT
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
Comment 1 Winnie Lai CLA 2011-09-21 16:29:34 EDT
Created attachment 203804 [details]
test program
Comment 2 Winnie Lai CLA 2011-09-21 16:32:28 EDT
Created attachment 203805 [details]
another_issue screenshot