| Summary: | Eclipse Debugging Framework: Showing variables in the variable view - no lazy loading | ||
|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Daniel Stein <daniel.stein> |
| Component: | Debug | Assignee: | Platform-Debug-Inbox <platform-debug-inbox> |
| Status: | CLOSED DUPLICATE | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | darin.eclipse |
| Version: | 3.5.1 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
This sonunds like a dup of bug 305739. The fix is in 3.6 as well as in the maintenance release streams for 3.4.2+ and 3.5.2+. However, there are no official 3.4.x/3.5.x builds that contain the fix (since the fix was produced after the x.y.2 releases). *** This bug has been marked as a duplicate of bug 305739 *** |
Build Identifier: 20090920-1017 We use the Eclipse debugging framework for building our own debugging environment. Its works great for us but we found one strange thing: We show the variable with the values in the variable view. When the user steps thru the program, the variable and the values of the variable are queried from our development platform. These queries are at a high cost so we want to have only a minimum of variable queries. The content provider of the variable view is a lazy content provider, so only the variables which are visible to the user are queried when the user do the first step. When the user scrolls the view, the now-shown variables are queried on demand. But in every next step - or if you just switch the view to the back and than bring it back to the front - every variable (also the variables not shown in the view) are queried. We debugged a little bit thru the code and found out that the problem has to do with the method createChildren(Widget widget) in the class org.eclipse.debug.internal.ui.viewers.model.provisional.TreeModelViewer. In this method you find the following code snippet: // touch all children to make sure they are materialized for (int i = 0; i < children.length; i++) { if (children[i].getData() == null) { virtualLazyUpdateWidget(widget, i); } } When we remove this code lines from the method it works as expected (for us!). So the question is: Is this a bug in the code of the TreeModelViewer? How can we achieve the lazy loading without patching around in the debug framework of Eclipse. Thank you for your help in advance. Reproducible: Always