home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March / PCWK3A99.iso / Linux / DDD331 / DDD-3_1_.000 / DDD-3_1_ / ddd-3.1.1 / TODO < prev   
Encoding:
Text File  |  1998-11-30  |  12.3 KB  |  308 lines

  1. # $Id: TODO,v 1.448 1998/11/30 09:36:47 zeller Exp $ -*- Text -*-
  2. # The DDD projects.
  3.  
  4. This is a list of frequently suggested DDD features, which should be
  5. realized in some future DDD release.  If you want to realize one or
  6. more of these projects, please ask us (ddd@ips.cs.tu-bs.de) whether
  7. there are already people working on that project.  Similar, if you
  8. have a project idea, be sure to send it to us such that we may realize
  9. it (or include it in this list :-)
  10.  
  11. Projects marked with an `*' are scheduled for the next DDD release.
  12. Volunteers for these and other projects are welcome!
  13.  
  14. 017 Have the graph editor scroll automatically when the pointer drags
  15.     something out of the visible part of the window.
  16.  
  17. 021 In the manual index, use special fonts for bold keywords.
  18.     [Requires Motif 2.0 and CMText.]
  19.  
  20. 025 Have auto-unfolding for recursive data structures.  Dereferencing
  21.     a pointer P * would automatically select all P * members in the
  22.     referenced structure.
  23.  
  24. 026 Have optional abstraction levels, hiding implementation details.
  25.     Every data type would be assigned an individual VSL function
  26.     determining its representation.
  27.  
  28. 031 Have a three-dimensional data display (using red/green glasses) :-)
  29.  
  30. 037 Group dereference.  If multiple pointers are selected,
  31.     dereference them all.
  32.  
  33. 050 Include algorithm animation; for instance, in a way similar to
  34.     LENS (see ftp.cc.gatech.edu:pub/people/stasko).  Suggested by
  35.     bruce@liverpool.ac.uk (Bruce Stephens).
  36.  
  37. 069 Yves Arrouye <Yves.Arrouye@marin.fdn.fr> states:
  38.     Let one colorize the displays. By using regexps on types or names
  39.     of the fields, it would already be extremely useful (or with a
  40.     match on the typed expression, having a list of regexps to match,
  41.     the first match giving color, so that given blue for ` pr_.*' and
  42.     red for `^int .*' one would see `int pr_var' in blue but all
  43.     other int variables in red).
  44.  
  45. 070 Matthias Kurz <mk@baerlap.north.de> suggests an option to set
  46.     debuggee arguments when invoking DDD.  A simple way of
  47.     implementing that would be: if more than one argument is given,
  48.     or if the 1st argument is neither a core file nor a process ID,
  49.     use the remaining arguments as debugee execution arguments.  [In
  50.     DDD, this is difficult to implement while conserving remote mode.
  51.     This should be an extension to GDB, not to DDD.  - AZ]
  52.  
  53. 071 Matthias Kurz <mk@baerlap.north.de> suggests code annotations
  54.     (i.e. comments and graphics that are associated with certain
  55.     variable/function names in the code).
  56.  
  57. 080 Convert the DDD manual to texinfo, as in ICE, resulting in an
  58.     HTML manual.  See also 102.
  59.  
  60. 083 Include graphplace (or other graph layout) support.
  61.  
  62. 085 Include xDuel support.  See `http://www.math.tau.ac.il/~frangy/'
  63.     for details.
  64.  
  65. 094 Have a VSL 'string()' function that extracts the string from a
  66.     box.  With an additional VSL 'matches()' function that matches
  67.     regexps, one may display different types in different
  68.     colors, fonts, etc.
  69.  
  70. 102 Have a WWW tutorial for DDD.  See also 080.
  71.  
  72. 110 N. Dan Zou <zou@hooked.net> suggests a way to display the class
  73.     structure of an existing program graphically.  [Should be
  74.     implemented as follows: use the `ptype' output to display types
  75.     graphically; dereference type names as required.  -AZ]
  76.  
  77. 115 Have links from help texts to appropriate sections of the DDD manual.
  78.  
  79. 126 `shorten' may need some improvements (count `(' and `)' occurrences, etc.)
  80.  
  81. 129 Detect self-modifying code.
  82.  
  83. 131 Include the Athena Panner widget in the DDD distribution, such
  84.     that Athena/Motif conflicts are removed.
  85.  
  86. 143 Have a list of regexes that suppress or hide displays when matched.
  87.     [Could this done by pressing `delete' on members?  And should other
  88.      displayed items be affected, too?  -AZ]
  89.  
  90. 153 Include assembler support for Sun DBX (they have a `dis' command).
  91.  
  92. 154 Allow users to specify geometries for dialog windows.
  93.  
  94. 155 Allow users to specify start-up commands that open specific
  95.     windows (for instance, open-backtrace(X, Y) would open the
  96.     backtrace window at X, Y; open-backtrace() would open it in some
  97.     default position).  See also #154, above.
  98.  
  99. 160 Support DEC `decladebug'.  Jens Albrecht
  100.     <Jens.Albrecht@informatik.uni-erlangen.de> has a trace.
  101.  
  102. 161 Daniel Lyddy <sprocket27@earthlink.net> suggests: Would it be
  103.     feasible to allow the user to select multiple commands in the
  104.     "Command History" window?  One could hold down the "Shift" key
  105.     while selecting a contiguous block of commands and the "Control"
  106.     key to select non-contiguous commands, a la Windoze File Manager.
  107.  
  108. 164 Matthias Kurz <mk@baerlap.north.de> suggests:
  109.     - Selection: Double click to select words - moving the mouse then
  110.       expands on the basis of words
  111.     - Attach base as attributes to variables, fields of
  112.       structs/unions; load/save
  113.     - recognize URLs in source window; follow on click (call external
  114.       browser)
  115.  
  116. 171 Use double-buffering to display the graph.  Even less flickering.
  117.  
  118. 175 Theodore Papadopoulo <papadop@sophia.inria.fr> suggests a smaller 
  119.     font for large matrices.
  120.  
  121. 176 Theodore Papadopoulo <papadop@sophia.inria.fr> wants the
  122.     capability of "freezing" some displayed values. By this, I mean
  123.     that I want to have some displayed data to remain displayed
  124.     (presumably as a copy?) as it is at the moment the user asks for
  125.     this freezing.  This would give to the user a simple way of
  126.     comparing the state of the program in different (but related)
  127.     functions, in different calls of a same function or in different
  128.     runs of the program with different (but again related)
  129.     parameters. And as far as I can see it, this is purely some
  130.     interface stuff so does not need for any support from the
  131.     debugger.
  132.  
  133. 177 Create menu children in the background, using a work procedure.
  134.  
  135. 183 Have a way to re-dereference until no more changes occur.
  136.  
  137. 193 Have a way to unfold trees and graphs.  For instance, `Display
  138.     *()' applied to a struct could dereference all contained pointers
  139.     (unless already dereferenced).
  140.  
  141. 197 Implement a fast lookup table for assembler locations.  Current
  142.     linear search may be too slow for large assembly listings.
  143.  
  144. 199 Use X11R6 XtSignalNotify for Xt-safe signal handling.
  145.  
  146. 206 `manage_and_raise' should deiconify dialogs.
  147.  
  148. 215 Raoul Beauduin <beauduin@ori.u-tokyo.ac.jp> suggests to change
  149.     the green arrow in the source window into a green bar. Makes it
  150.     easier to follow the line.
  151.     [You can turn off glyphs and get a black bar.  -AZ]
  152.  
  153. 221 Have a DDD USENET news group, such as `comp.debuggers[.ddd]',
  154.     instead of a mailing list.  [This should be done when there are
  155.     more than 1000 subscribers, or when the number of messages/day is
  156.     greater than 50.]
  157.  
  158. 232 Have an `infinite' assembler window that extends in both
  159.     directions as needed.
  160.  
  161. 233 Have a `bookmarks' menu like the `Highlight' menu in tkman.
  162.  
  163. 241 Include a mail reader.  See also `feeping creaturism'.
  164.  
  165. 242 Make programs dump core by forking and killing them.
  166.  
  167. 249 `Rotate' should be enabled as soon as there is exactly one child
  168.     that can be rotated.
  169.  
  170. 252 Print via the X Printer extension (-lXp).
  171.  
  172. 254 If an XEmacs is running, use its frame for displaying the text.
  173.  
  174. 257 Show whether a conditional jump (breakpoint?) will be taken or not.
  175.  
  176. 266 Include TAGS support.
  177.  
  178. 273 JORGE HERNANDO <hernando@cnea.edu.ar> wants
  179.     1)  when an array is marked for display, how about a popup where one
  180.     writes the indexes ranges?, e.g. 5-8,* in order to show 
  181.     array(i,j), 5<=i<=8, the whole range of j.
  182.  
  183.     [You can do this via artificial arrays.]
  184.  
  185.     Also, with multidimensional arrays is easy to be confused about
  186.     which value we are looking at. Would it be possible to show
  187.     (together with the array value) the indexes values (in another
  188.     font, size, color, etc)?
  189.  
  190.     [Clicking on any value will tell you the location.]
  191.  
  192. 277 Allow in-place editing.  There is already a simple `sourceEditing'
  193.     resource, but we'd have to do a lot more to realize decent editing
  194.     capabilities.
  195.  
  196. 287 Have the DDD windows be resized in font increments.
  197.  
  198. 288 Have @ifjdb...@else...@endif constructs in help texts.
  199.  
  200. 289 Enable drop actions.  Dropping an action on the text causes the
  201.     action to perform on the object (or vice versa?)
  202.  
  203. 291 Rich Homolka <rich@stg.com> suggests: When displaying a class
  204.     variable, to be able to toggle between showing only member var's
  205.     defined in that class, or all member variables, including those
  206.     inherited from superclasses.
  207.  
  208. 294 Have a way to expand `VALUE <Nx>' manually.
  209.  
  210. 304 If the source window size has changed (via panes?), recenter the
  211.     command tool.
  212.  
  213. 305 Have all icons parsed from one big XPM file (use a subimage for
  214.     each icon), such that the icon creation time is minimized.
  215.  
  216. 308 Here's a list of GDB concepts that are not yet covered by the DDD GUI:
  217.     * Tracepoints: trace, collect, ...  Is there any doc for that?
  218.     * Overlays: overlay...  Is there any doc for that?
  219.     * Symbol files: symbol-file, add-shared-symbol-file, sharedlibrary.
  220.     * Exception breakpoints: catch.
  221.     * Conditions: if, while.
  222.     * Remote debugging: remote, tfind.
  223.     * Return from frame: return.
  224.     * Shell command: shell.
  225.     * File command options: `-readnow' and `-mapped'
  226.  
  227. 316 Bill Bumgarner <bbum@codefab.com> suggests Objective-C
  228.     improvements for use with Foundation from Apple:
  229.  
  230.     (1) For data of type objc_object * (a pointer to an object), could
  231.         ddd figure out what type of object the datum is pointing to
  232.         and display its class?
  233.  
  234.     (2) Under Foundation, every object responds to the method
  235.         -description and produces a description of itself-- this can
  236.         range from the value of an NSNumber to the contents of an
  237.         NSArray (and can be long).  It would be tremendously useful
  238.         for ddd to take advantage of this.
  239.  
  240.     (3) gdb with objective-c has a print-object or po command.  It
  241.         would be great if that appeared on the right-click menu when
  242.         clicking on a variable.
  243.  
  244. 318 To manipulate bitwise structures, Fritjof Flechsig
  245.     <flechsig@itp.uni-hannover.de> suggests a pop-up with some
  246.     check-boxes where each box is one bit.
  247.  
  248. 321 Allow `()' expansion in auto-commands.
  249.  
  250. 325 Allow `snapshots' of the currently displayed data.  Just create
  251.     `frozen' copies of displays that simply display the original data
  252.     (graph display `a = 16`) and are no longer updated.  See also 176.
  253.  
  254. 326 Mihai Budiu <mihaib@gs41.sp.cs.cmu.edu> reports:
  255.     It would be nice if you had a short-cut to display 'this' when
  256.     debugging C++; I found no easy way.
  257.     [graph display `print *this` would help.  -AZ]
  258.  
  259. 329 Have a Display Editor shortcut from the data popup menu.
  260.  
  261. 334 When looking at a C++ identifier X, try `this->X' if `X' is not
  262.     found.  Better yet, try `CLASS::X' if we're in a CLASS member.
  263.  
  264. 340 Have `Display Array Slice', a friendly interface to the `@' operator.
  265.  
  266. 342 Add a menu bar for the execution window (via swallowing)
  267.  
  268. 345 Have automatic unfolding of data structures using `Layout by
  269.     Example' - that is, lay out the first few elements and have this
  270.     operation repeated until a fix point is reached.  
  271.     See also 025, 183, and 193.
  272.  
  273. 346 If a new display obscures an existing display, use spring-embedded
  274.     layout to resolve conflicts.
  275.  
  276. 348 Allow debugger interaction while the program is running.  Simply
  277.     interrupt the debuggee, do debugger action, and resume execution.
  278.     (This will only work after a `run' or `cont'.)
  279.  
  280. 349 Access Java `.jar' class archives.
  281.  
  282. 350 Harri Pasanen <harri@trema.com> suggests incremental search for
  283.     the source window.  (Could this be bound to Ctrl+B/Ctrl+F?)
  284.  
  285. 351 Oliver Eichler <oliver.eichler@regensburg.netsurf.de> suggests
  286.     that `Displays' clusters should have two or more columns in order
  287.     to fit the visible part of the display.
  288.  
  289. 354 In Windows, compare file names regardless of case.
  290.  
  291. 355 Realize alias detection in languages without address operators.
  292.     This may be done by traversing all values; for every pointer
  293.     found, assign its value as address to the referenced display.
  294.  
  295. 356 Have a `Default' button in preferences, restoring factory
  296.     settings.
  297.  
  298. 358 Delay `plot' commands until Gnuplot is done sending plot data.
  299.  
  300. 361 Zdenek Sekera <zs@sgi.com> suggests to have the cursor jump to
  301.     some specific location (such as the end of main()) when the
  302.     program has terminated.
  303.  
  304. 362 Zdenek Sekera <zs@sgi.com> wants an option to delete arguments
  305.     from the argument history.
  306.  
  307. 366 (Insert new project ideas here)
  308.