Speaking of backtracking, not too long ago I wrote a process checkpoint/restore facility for DragonFly BSD. I believe that it was ported to FreeBSD and I know that a superset of its functionality was implemented for Linux by LLNL. It seems, at least on the surface of things, that this could be tied into ordinary debuggers like GDB to provide simple backtracking by checkpointing a process every n seconds, where n is a function of the size of the process and how recently one wants to roll back to. This would be nice to have for many languages not just ocaml - plus many people would like to use native code. -Kip > I have use a lot the debuggers, but veru often without succes because: > > - my program was to complex to debug it without backtracking > - backtracking often crashes (but it is hard to reproduce) and moreover > is not usable when performing IO (at least the last time I used it) > > If would be nice to have two ml functions (to use inside your code to > debug): > > allow_debugback (): backtraking is allowed after this function is > executed (create the first fork for backtracking there). This function > could recieve the maximum number of fork in argument instead of unit. > > disallow_debugback (): no more backtracking possible (kills all the > previous forks) > > I think this is simple to implement and not very hard to use (for > instance it is easy to put such a function in the treatment part of a > parser to solve the IO problems). > > > -- > Christophe Raffalli > Université de Savoie > Batiment Le Chablais, bureau 21 > 73376 Le Bourget-du-Lac Cedex > > tél: (33) 4 79 75 81 03 > fax: (33) 4 79 75 87 42 > mail: Christophe.Raffalli@univ-savoie.fr > www: http://www.lama.univ-savoie.fr/~RAFFALLI > --------------------------------------------- > IMPORTANT: this mail is signed using PGP/MIME > At least Enigmail/Mozilla, mutt or evolution > can check this signature > --------------------------------------------- > ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners