Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

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: -- (:)
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:
> >
> 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:  FAQ:
To unsubscribe, mail  Archives: