From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id RAA05606; Mon, 26 Nov 2001 17:15:05 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id RAA05602 for ; Mon, 26 Nov 2001 17:15:05 +0100 (MET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.11.1/8.10.0) with ESMTP id fAQGEu126590; Mon, 26 Nov 2001 17:14:56 +0100 (MET) Received: (from xleroy@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id RAA05598; Mon, 26 Nov 2001 17:14:56 +0100 (MET) Date: Mon, 26 Nov 2001 17:14:56 +0100 From: Xavier Leroy To: Fergus Henderson Cc: Yoann Padioleau , caml-list@inria.fr Subject: Re: [Caml-list] replay debugger Message-ID: <20011126171456.B5203@pauillac.inria.fr> References: <20011004143909.A16053@pauillac.inria.fr> <20011127015149.A10358@earth.cs.mu.oz.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: <20011127015149.A10358@earth.cs.mu.oz.au>; from fjh@cs.mu.oz.au on Tue, Nov 27, 2001 at 01:51:50AM +1100 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > > 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