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 KAA15411; Tue, 2 Jul 2002 10:43:21 +0200 (MET DST) Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id KAA14941 for caml-list@pauillac.inria.fr; Tue, 2 Jul 2002 10:43:20 +0200 (MET DST) 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 AAA09061 for ; Tue, 2 Jul 2002 00:40:59 +0200 (MET DST) Received: from obento.cs.caltech.edu (obento.cs.caltech.edu [131.215.44.101]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g61Mevf15266 for ; Tue, 2 Jul 2002 00:40:57 +0200 (MET DST) Received: from orchestra.cs.caltech.edu (orchestra.cs.caltech.edu [131.215.44.20]) by obento.cs.caltech.edu (Postfix) with ESMTP id 0DA064045; Mon, 1 Jul 2002 15:40:56 -0700 (PDT) Received: (from mvanier@localhost) by orchestra.cs.caltech.edu (8.11.6/8.9.3) id g61Mett03200; Mon, 1 Jul 2002 15:40:55 -0700 Date: Mon, 1 Jul 2002 15:40:55 -0700 Message-Id: <200207012240.g61Mett03200@orchestra.cs.caltech.edu> X-Authentication-Warning: orchestra.cs.caltech.edu: mvanier set sender to mvanier@cs.caltech.edu using -f From: Michael Vanier To: mattias.waldau@abc.se Cc: caml-list@inria.fr In-reply-to: <001101c2205d$627cab20$0900a8c0@gateway> (mattias.waldau@abc.se) Subject: Re: [Caml-list] debugger questions/feature requests References: <001101c2205d$627cab20$0900a8c0@gateway> Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > From: "Mattias Waldau" > Date: Sun, 30 Jun 2002 19:41:24 +0200 > > > I'm just starting to use the ocaml debugger. I notice that > > when doing a backtrace, the different stack frames are > > identified as character positions in the source code file, > > but no line numbers are given. This is a pretty major > > annoyance. However, when you go up and down the call stack, > > you get the line numbers. Is there any way to put the line > > numbers in the backtrace as well? > > no line numbers, this is a recurrent complaint :-) Actually, it turns out to be trivial to add this feature to the debugger. In the file debugger/show_information.ml, apply this patch: 25a26 > open Source 72,73c73,78 < fprintf ppf "#%i Pc : %i %s char %i@." < framenum event.ev_pos event.ev_module event.ev_char --- > let first_char_of_line, line = > line_of_pos (get_buffer event.ev_module) event.ev_char in > let char_on_line = event.ev_char - first_char_of_line in > fprintf ppf "#%i Pc : %i %s line: %i char: %i@." > framenum event.ev_pos event.ev_module > line char_on_line Don't forget the "open Source" line, or you won't be able to access the "line_of_pos" function. Nothing like open source software ;-) > > > > > I also would like a way to stop execution at the point at > > which an exception was raised. There was a bug in my code > > that raised an exception, and the debugger was not helpful in > > tracking it down. The last location I could step through > > before the exception was raised bore no relation to where the > > bug was occurring. I'm not really sure why this was the case. > > > > it does stop at the point. > > I normally do 'b' to backstep one step and then 'u' one or several times > to go up the stack trace. > Hmm. It doesn't work for me. When I do this the last location I can see before hitting the exception is about two lines before the location of the bug. I'm having a hard time wrapping my mind around the way the debugger works. Mike ------------------- 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