home *** CD-ROM | disk | FTP | other *** search
- # $Id: TODO,v 1.448 1998/11/30 09:36:47 zeller Exp $ -*- Text -*-
- # The DDD projects.
-
- This is a list of frequently suggested DDD features, which should be
- realized in some future DDD release. If you want to realize one or
- more of these projects, please ask us (ddd@ips.cs.tu-bs.de) whether
- there are already people working on that project. Similar, if you
- have a project idea, be sure to send it to us such that we may realize
- it (or include it in this list :-)
-
- Projects marked with an `*' are scheduled for the next DDD release.
- Volunteers for these and other projects are welcome!
-
- 017 Have the graph editor scroll automatically when the pointer drags
- something out of the visible part of the window.
-
- 021 In the manual index, use special fonts for bold keywords.
- [Requires Motif 2.0 and CMText.]
-
- 025 Have auto-unfolding for recursive data structures. Dereferencing
- a pointer P * would automatically select all P * members in the
- referenced structure.
-
- 026 Have optional abstraction levels, hiding implementation details.
- Every data type would be assigned an individual VSL function
- determining its representation.
-
- 031 Have a three-dimensional data display (using red/green glasses) :-)
-
- 037 Group dereference. If multiple pointers are selected,
- dereference them all.
-
- 050 Include algorithm animation; for instance, in a way similar to
- LENS (see ftp.cc.gatech.edu:pub/people/stasko). Suggested by
- bruce@liverpool.ac.uk (Bruce Stephens).
-
- 069 Yves Arrouye <Yves.Arrouye@marin.fdn.fr> states:
- Let one colorize the displays. By using regexps on types or names
- of the fields, it would already be extremely useful (or with a
- match on the typed expression, having a list of regexps to match,
- the first match giving color, so that given blue for ` pr_.*' and
- red for `^int .*' one would see `int pr_var' in blue but all
- other int variables in red).
-
- 070 Matthias Kurz <mk@baerlap.north.de> suggests an option to set
- debuggee arguments when invoking DDD. A simple way of
- implementing that would be: if more than one argument is given,
- or if the 1st argument is neither a core file nor a process ID,
- use the remaining arguments as debugee execution arguments. [In
- DDD, this is difficult to implement while conserving remote mode.
- This should be an extension to GDB, not to DDD. - AZ]
-
- 071 Matthias Kurz <mk@baerlap.north.de> suggests code annotations
- (i.e. comments and graphics that are associated with certain
- variable/function names in the code).
-
- 080 Convert the DDD manual to texinfo, as in ICE, resulting in an
- HTML manual. See also 102.
-
- 083 Include graphplace (or other graph layout) support.
-
- 085 Include xDuel support. See `http://www.math.tau.ac.il/~frangy/'
- for details.
-
- 094 Have a VSL 'string()' function that extracts the string from a
- box. With an additional VSL 'matches()' function that matches
- regexps, one may display different types in different
- colors, fonts, etc.
-
- 102 Have a WWW tutorial for DDD. See also 080.
-
- 110 N. Dan Zou <zou@hooked.net> suggests a way to display the class
- structure of an existing program graphically. [Should be
- implemented as follows: use the `ptype' output to display types
- graphically; dereference type names as required. -AZ]
-
- 115 Have links from help texts to appropriate sections of the DDD manual.
-
- 126 `shorten' may need some improvements (count `(' and `)' occurrences, etc.)
-
- 129 Detect self-modifying code.
-
- 131 Include the Athena Panner widget in the DDD distribution, such
- that Athena/Motif conflicts are removed.
-
- 143 Have a list of regexes that suppress or hide displays when matched.
- [Could this done by pressing `delete' on members? And should other
- displayed items be affected, too? -AZ]
-
- 153 Include assembler support for Sun DBX (they have a `dis' command).
-
- 154 Allow users to specify geometries for dialog windows.
-
- 155 Allow users to specify start-up commands that open specific
- windows (for instance, open-backtrace(X, Y) would open the
- backtrace window at X, Y; open-backtrace() would open it in some
- default position). See also #154, above.
-
- 160 Support DEC `decladebug'. Jens Albrecht
- <Jens.Albrecht@informatik.uni-erlangen.de> has a trace.
-
- 161 Daniel Lyddy <sprocket27@earthlink.net> suggests: Would it be
- feasible to allow the user to select multiple commands in the
- "Command History" window? One could hold down the "Shift" key
- while selecting a contiguous block of commands and the "Control"
- key to select non-contiguous commands, a la Windoze File Manager.
-
- 164 Matthias Kurz <mk@baerlap.north.de> suggests:
- - Selection: Double click to select words - moving the mouse then
- expands on the basis of words
- - Attach base as attributes to variables, fields of
- structs/unions; load/save
- - recognize URLs in source window; follow on click (call external
- browser)
-
- 171 Use double-buffering to display the graph. Even less flickering.
-
- 175 Theodore Papadopoulo <papadop@sophia.inria.fr> suggests a smaller
- font for large matrices.
-
- 176 Theodore Papadopoulo <papadop@sophia.inria.fr> wants the
- capability of "freezing" some displayed values. By this, I mean
- that I want to have some displayed data to remain displayed
- (presumably as a copy?) as it is at the moment the user asks for
- this freezing. This would give to the user a simple way of
- comparing the state of the program in different (but related)
- functions, in different calls of a same function or in different
- runs of the program with different (but again related)
- parameters. And as far as I can see it, this is purely some
- interface stuff so does not need for any support from the
- debugger.
-
- 177 Create menu children in the background, using a work procedure.
-
- 183 Have a way to re-dereference until no more changes occur.
-
- 193 Have a way to unfold trees and graphs. For instance, `Display
- *()' applied to a struct could dereference all contained pointers
- (unless already dereferenced).
-
- 197 Implement a fast lookup table for assembler locations. Current
- linear search may be too slow for large assembly listings.
-
- 199 Use X11R6 XtSignalNotify for Xt-safe signal handling.
-
- 206 `manage_and_raise' should deiconify dialogs.
-
- 215 Raoul Beauduin <beauduin@ori.u-tokyo.ac.jp> suggests to change
- the green arrow in the source window into a green bar. Makes it
- easier to follow the line.
- [You can turn off glyphs and get a black bar. -AZ]
-
- 221 Have a DDD USENET news group, such as `comp.debuggers[.ddd]',
- instead of a mailing list. [This should be done when there are
- more than 1000 subscribers, or when the number of messages/day is
- greater than 50.]
-
- 232 Have an `infinite' assembler window that extends in both
- directions as needed.
-
- 233 Have a `bookmarks' menu like the `Highlight' menu in tkman.
-
- 241 Include a mail reader. See also `feeping creaturism'.
-
- 242 Make programs dump core by forking and killing them.
-
- 249 `Rotate' should be enabled as soon as there is exactly one child
- that can be rotated.
-
- 252 Print via the X Printer extension (-lXp).
-
- 254 If an XEmacs is running, use its frame for displaying the text.
-
- 257 Show whether a conditional jump (breakpoint?) will be taken or not.
-
- 266 Include TAGS support.
-
- 273 JORGE HERNANDO <hernando@cnea.edu.ar> wants
- 1) when an array is marked for display, how about a popup where one
- writes the indexes ranges?, e.g. 5-8,* in order to show
- array(i,j), 5<=i<=8, the whole range of j.
-
- [You can do this via artificial arrays.]
-
- Also, with multidimensional arrays is easy to be confused about
- which value we are looking at. Would it be possible to show
- (together with the array value) the indexes values (in another
- font, size, color, etc)?
-
- [Clicking on any value will tell you the location.]
-
- 277 Allow in-place editing. There is already a simple `sourceEditing'
- resource, but we'd have to do a lot more to realize decent editing
- capabilities.
-
- 287 Have the DDD windows be resized in font increments.
-
- 288 Have @ifjdb...@else...@endif constructs in help texts.
-
- 289 Enable drop actions. Dropping an action on the text causes the
- action to perform on the object (or vice versa?)
-
- 291 Rich Homolka <rich@stg.com> suggests: When displaying a class
- variable, to be able to toggle between showing only member var's
- defined in that class, or all member variables, including those
- inherited from superclasses.
-
- 294 Have a way to expand `VALUE <Nx>' manually.
-
- 304 If the source window size has changed (via panes?), recenter the
- command tool.
-
- 305 Have all icons parsed from one big XPM file (use a subimage for
- each icon), such that the icon creation time is minimized.
-
- 308 Here's a list of GDB concepts that are not yet covered by the DDD GUI:
- * Tracepoints: trace, collect, ... Is there any doc for that?
- * Overlays: overlay... Is there any doc for that?
- * Symbol files: symbol-file, add-shared-symbol-file, sharedlibrary.
- * Exception breakpoints: catch.
- * Conditions: if, while.
- * Remote debugging: remote, tfind.
- * Return from frame: return.
- * Shell command: shell.
- * File command options: `-readnow' and `-mapped'
-
- 316 Bill Bumgarner <bbum@codefab.com> suggests Objective-C
- improvements for use with Foundation from Apple:
-
- (1) For data of type objc_object * (a pointer to an object), could
- ddd figure out what type of object the datum is pointing to
- and display its class?
-
- (2) Under Foundation, every object responds to the method
- -description and produces a description of itself-- this can
- range from the value of an NSNumber to the contents of an
- NSArray (and can be long). It would be tremendously useful
- for ddd to take advantage of this.
-
- (3) gdb with objective-c has a print-object or po command. It
- would be great if that appeared on the right-click menu when
- clicking on a variable.
-
- 318 To manipulate bitwise structures, Fritjof Flechsig
- <flechsig@itp.uni-hannover.de> suggests a pop-up with some
- check-boxes where each box is one bit.
-
- 321 Allow `()' expansion in auto-commands.
-
- 325 Allow `snapshots' of the currently displayed data. Just create
- `frozen' copies of displays that simply display the original data
- (graph display `a = 16`) and are no longer updated. See also 176.
-
- 326 Mihai Budiu <mihaib@gs41.sp.cs.cmu.edu> reports:
- It would be nice if you had a short-cut to display 'this' when
- debugging C++; I found no easy way.
- [graph display `print *this` would help. -AZ]
-
- 329 Have a Display Editor shortcut from the data popup menu.
-
- 334 When looking at a C++ identifier X, try `this->X' if `X' is not
- found. Better yet, try `CLASS::X' if we're in a CLASS member.
-
- 340 Have `Display Array Slice', a friendly interface to the `@' operator.
-
- 342 Add a menu bar for the execution window (via swallowing)
-
- 345 Have automatic unfolding of data structures using `Layout by
- Example' - that is, lay out the first few elements and have this
- operation repeated until a fix point is reached.
- See also 025, 183, and 193.
-
- 346 If a new display obscures an existing display, use spring-embedded
- layout to resolve conflicts.
-
- 348 Allow debugger interaction while the program is running. Simply
- interrupt the debuggee, do debugger action, and resume execution.
- (This will only work after a `run' or `cont'.)
-
- 349 Access Java `.jar' class archives.
-
- 350 Harri Pasanen <harri@trema.com> suggests incremental search for
- the source window. (Could this be bound to Ctrl+B/Ctrl+F?)
-
- 351 Oliver Eichler <oliver.eichler@regensburg.netsurf.de> suggests
- that `Displays' clusters should have two or more columns in order
- to fit the visible part of the display.
-
- 354 In Windows, compare file names regardless of case.
-
- 355 Realize alias detection in languages without address operators.
- This may be done by traversing all values; for every pointer
- found, assign its value as address to the referenced display.
-
- 356 Have a `Default' button in preferences, restoring factory
- settings.
-
- 358 Delay `plot' commands until Gnuplot is done sending plot data.
-
- 361 Zdenek Sekera <zs@sgi.com> suggests to have the cursor jump to
- some specific location (such as the end of main()) when the
- program has terminated.
-
- 362 Zdenek Sekera <zs@sgi.com> wants an option to delete arguments
- from the argument history.
-
- 366 (Insert new project ideas here)
-