Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003767OCamltools (ocaml{lex,yacc,dep,debug,...})public2005-08-19 20:132016-12-07 16:21
Assigned To 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0003767: OCamlDebug Wishlist
DescriptionFull_Name: Nathan Gaylinn
Version: 3.08.3
OS: Linux
Submission from: (

    Hello! I've been working on developing an OCaml IDE with a graphical debugger
all summer. My program will be released soon, but there are still many things I
would like to do to improve upon it and certain features I'd like to add.
    When working with ocamldebug to create the graphical debugger, I ran into many
complications and difficulties. There were some places where my life would have
been easier with more or different information from ocamldebug. Also, there are
some very nice features I would like to add, but cannot because ocamldebug
itself cannot give me what I need.
    With both my experience working with ocamldebug and my experience trying to
make a graphical interface to fit around it, I have prepared a wish list of
sorts describing several features (most of which I assume would be relatively
easy to add) that I would love to see in a future release of ocamldebug. I hope
you find my suggestions useful, and that they make it to an upcoming release.
Unfortunately, I'll have to stop major development on my IDE soon, so it would
be wonderful if these changes could happen in the near future. If not, though,
hopefully they will happen eventually and hopefully I'll have the time to add
support for them in my program when they do.

Anyway, without further ado, my wishlist:

    When the program stops (user break, a breakpoint, a step command has finished,
etc.), give access to the expression that either has just been evaluated or is
about to be, not just the character. This is more clear, and makes it evident
what "display *" should return. Sometimes more than one expression ends at the
same character and it is ambiguous which has just been evaluated.

    When describing an event (as in "info events Modulename"), give the full
expression and not just a character offset. In some cases, more than one event
can have the same character offset so there is no way to distinguish between
them without actually setting breakpoints and testing which is which. It would
be fine to just give a beginning and ending character offset, or a beginning
character offset and a length.

    When deleting a breakpoint, give some responce to signify that the deletion was
successful. Something like "Removing breakpoint 1 at 15376 : file,
line 24, character 29" would be very nice.

    Do something to distinguish between part of a backtrace and the description of
a stack frame when changing frames. Just adding "Backtrace: " before the list of
stack frames would be sufficient.

    Add a command that can give the file name associated with a module name or visa
versa. It's confusing to set a breakpoint in module Bignum and see your code
break in the file Also, this would be very useful for an IDE to be
able to know which file was associated with a which module.

    Add the ability to ignore events ocurring in a given module. For instance,
almost no one cares if an event occurred in pervasives. It would be nice to be
able to turn off events in a set of modules, or even in all modules that are
part of the OCaml libraries. An IDE could add this feature, but it would be a
nice one to include within ocamldebug itself.

Thank you for your consideration,

  -- Nate Gaylinn

TagsNo tags attached.
Attached Files

- Relationships

-  Notes
administrator (administrator)
2005-08-26 14:18

implemented 3 and 4 DD 2005-08-24
implemented 1 and 2 DD 2005-08-25

- Issue History
Date Modified Username Field Change
2005-11-18 10:13 administrator New Issue
2016-12-07 16:21 shinwell Category OCaml general => OCaml tools (ocaml{lex,yacc,dep,browser,debug})
2016-12-07 16:21 shinwell Description Updated View Revisions
2016-12-07 16:37 doligez Category OCaml tools (ocaml{lex,yacc,dep,browser,debug}) => OCaml tools (ocaml{lex,yacc,dep,debug})
2017-02-23 16:45 doligez Category OCaml tools (ocaml{lex,yacc,dep,debug}) => tools (ocaml{lex,yacc,dep,debug,...})

Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker