Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Caml-list] backtrace output: feature request

1 view
Skip to first unread message

Sam Steingold

unread,
Apr 18, 2007, 12:04:42 PM4/18/07
to caml...@inria.fr
it appears that starting with 3.10 stack traces for natively compiled
executables will be available. thanks!
one thing that I would love to see is being able to redirect this output:

try Result (foo ())
with e ->
fprintf logstream "error: %s" (error_to_string e);
stack_trace logstream;
Error e

so that I can log both errors and their stack traces in a file for later
examination, but still continue running.

Thanks.

Sam.

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Xavier Leroy

unread,
Apr 22, 2007, 6:11:55 AM4/22/07
to Sam Steingold
> it appears that starting with 3.10 stack traces for natively compiled
> executables will be available. thanks!
> one thing that I would love to see is being able to redirect this output:
> so that I can log both errors and their stack traces in a file for later
> examination, but still continue running.

I agree it would be nice, and this feature is on my "to do" list. It
takes a bit of work to make the backtrace data available from Caml, though,
so don't expect this for 3.10.

> how do I get backtraces on exceptions in then top-level?
> I want to see something like:
> h called g on line 1
> g called f on line 1
> f raised invalid_argument on line 1

Currently, you cannot. Conceivably, this would be the same mechanism
as outlined above (i.e. making backtrace data available from Caml).
However, you'd get a backtrace in terms of file names and line
numbers, which don't make that much sense for toplevel definitions.
Functions names don't really exist in compiled code.

- Xavier Leroy

Sam Steingold

unread,
Apr 22, 2007, 10:37:06 AM4/22/07
to Xavier Leroy
> * Xavier Leroy <Knivre...@vaevn.se> [2007-04-22 12:10:57 +0200]:

>
>> how do I get backtraces on exceptions in then top-level?
>> I want to see something like:
>> h called g on line 1
>> g called f on line 1
>> f raised invalid_argument on line 1
>
> Currently, you cannot. Conceivably, this would be the same mechanism
> as outlined above (i.e. making backtrace data available from Caml).
> However, you'd get a backtrace in terms of file names and line
> numbers, which don't make that much sense for toplevel definitions.

yes they do. file=function name.

> Functions names don't really exist in compiled code.

sure - but file/line annotations do, and they can be easily augmented
with function names.

--
Sam Steingold (http://sds.podval.org/) on Fedora Core release 6 (Zod)
http://truepeace.org http://jihadwatch.org http://pmw.org.il
http://openvotingconsortium.org http://iris.org.il http://dhimmi.com
Stupidity, like virtue, is its own reward.

0 new messages