English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
How can I treat bits?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2001-11-26 (16:15)
From: Xavier Leroy <xavier.leroy@i...>
Subject: Re: [Caml-list] replay debugger
> > Like all "time-travel" debuggers: by periodic checkpointing.
> I think that comment could be misleading.
> [Another way to do replay: undo trail]

OK, I agree my comment was an excessive generalization.  As you said,
an undo trail can also be maintained, although this is not what the
OCaml debugger does.

> > We learnt this trick from Andrew Tolmach's thesis:
> >         http://www.cs.pdx.edu/~apt/thesis.ps.Z
> Looking at the details here [or at least those which show up on the first
> few pages -- after that, ghostview reports a Postscript error :-( ],
> it seems that the technique described here is actually much more
> similar to typical Prolog implementations than Ocaml's fork()-based
> implementation.  In particular, Tolmach uses a "history log", which
> sounds like it would be pretty much identical to the Prolog trail,
> for recording updates to mutable data structures.

Tolmach's debugger uses a undo trail to deal with I/O and mutable data
structures, but relies on call/cc to do checkpointing on the "control"
part of the program execution.  So, it's somewhere in between.

- Xavier Leroy
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr