Browse thread
[Caml-list] debugger questions/feature requests
-
Michael Vanier
-
Mattias Waldau
- Michael Vanier
-
Mattias Waldau
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Michael Vanier <mvanier@c...> |
| Subject: | Re: [Caml-list] debugger questions/feature requests |
> From: "Mattias Waldau" <mattias.waldau@abc.se> > 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