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 do I get a stack trace in a running program?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Alex Baretta <alex@b...>
Subject: Re: [Caml-list] How do I get a stack trace in a running program?
Alex Baretta wrote:
> Richard Jones wrote:
>> Therefore it seems there is no way to trigger the printing of
>> backtraces except by modifying the sources to the OCaml compuiler.
>> Except that possibly you could write a C extension which calls
>> caml_print_exception_backtrace, if that symbol is visible, and it
>> might do the right thing, with luck!
> This is more or less what I'm doing...

This failed pathetically. This is the best I was able to do.

alex@alex:~/darcs/sw/lib/unixlib-addons$ cat

open Unix
external print_exception_backtrace : file_descr -> unit =

alex@alex:~/darcs/sw/lib/unixlib-addons$ cat

open Backtrace
let () = try
   failwith "No backtrace, folks!" with x ->
     print_exception_backtrace Unix.stderr

alex@alex:~/darcs/sw/lib/unixlib-addons$ ocamlfind ocamlc -g -package 
"unixlib-addons" -linkpkg -o fail
Error on dynamically loaded library: ./ undefined 
symbol: caml_start_code

Why in the world can't I get a backtrace for a caught exception!?


Baretta DE&IT
A division of Baretta SRL

tel. +39 02 370 111 55
fax. +39 02 370 111 54

Our technology:

The Application System/Xcaml (AS/Xcaml)

The FreerP Project