DSDP/DD/ExpressionsAndVariablesViews

From Eclipsepedia

< DSDP‎ | DD
Revision as of 13:38, 8 August 2006 by Michael.Scharf.Windriver.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This is the Expressions and Variables Views Technology Sub-group

Lead: Ken Ryall (Nokia)
Members: Ted Williams (WR), Pete Nichols (IBM)

Contents

Introduction

At the last DSDP meeting we began discussing ways to improve the Variable view to include the features we would find useful in a common, sharable, view of C/C++ variables and expressions.

Here are some design notes based on some initial feedback.

Basics

The variable view displays a collection of variables in a hierarchical structure. The variables shown are those relevant to the debug context of the view and may include both local variables and global variables used within the local context. Multiple columns in the view allow for sorting and easier viewing of attributes.

Variable Attributes

Common attributes of C/C++ variables that merit their own column in the view:

Name (short or fully qualified)
Location (register or memory location)
Type
Value

Editing

Variable values can either be edited in place or in the details pane. For in-place editing of Boolean or enumerated types a menu lets you select from a valid range of values.

Context Indicator

Variables are shown from a particular context, usually a function within a stack frame. You can have multiple variable views showing variables from multiple contexts open at the same time. Multiple variable views will be confusing without some kind of context indicator. Suggestions have included using color, unique symbols (think Lucky Charms cereal), or a short chunk of text (“doHandleCommand() in thread 566 of process “hello.exe”). Context indicators will need to be used consistently across many of the other debug views.

Filters

Filters let you look at a subset of the variables based on the name, type, or value.

Pinned Variable Views

Pinned views are static, they don’t update when the target state changes. You can pin any variable view and it will no linger update. You can have multiple pinned views open.


That's it for now, I'll update these notes as I collect additional feedback.

- Ken