diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2011-01-06 12:40:29 +0000 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2011-01-06 12:43:48 +0000 |
commit | d3def2ccdd0e1f25f4966eee8cfc4396861e4fb4 (patch) | |
tree | 05640894ed5afb32ea7f5e02c758c53d0c4fb585 | |
parent | 0b94aeb460d42eea16bf942dd0892b8ebf63877b (diff) | |
download | virt-top-d3def2ccdd0e1f25f4966eee8cfc4396861e4fb4.tar.gz virt-top-d3def2ccdd0e1f25f4966eee8cfc4396861e4fb4.tar.xz virt-top-d3def2ccdd0e1f25f4966eee8cfc4396861e4fb4.zip |
main: Record and print full exception stack traces.
This turns on stack trace recording unconditionally (the same
effect as if OCAMLRUNPARAM=b was always supplied), and also prints
stack traces to the log file if there is an exception.
See also:
http://caml.inria.fr/pub/docs/manual-ocaml/libref/Printexc.html
Note that this requires OCaml >= 3.11.0.
-rw-r--r-- | README | 5 | ||||
-rw-r--r-- | virt-top/virt_top_main.ml | 3 |
2 files changed, 7 insertions, 1 deletions
@@ -1,7 +1,7 @@ virt-top ---------------------------------------------------------------------- -Copyright (C) 2007-2009 Richard W.M. Jones, Red Hat Inc. +Copyright (C) 2007-2011 Richard W.M. Jones, Red Hat Inc. http://et.redhat.com/~rjones/virt-top/ http://libvirt.org/ocaml/ http://libvirt.org/ @@ -17,6 +17,9 @@ different virtualization systems. Building ---------------------------------------------------------------------- +Note that the minimum version of OCaml supported (since 1.0.5) is +OCaml 3.11.0. + ./configure # Checks that you have all the required bits. make all # Builds the bytecode version of the program. diff --git a/virt-top/virt_top_main.ml b/virt-top/virt_top_main.ml index 4e1c5b7..4e5c07b 100644 --- a/virt-top/virt_top_main.ml +++ b/virt-top/virt_top_main.ml @@ -34,6 +34,7 @@ let error = let ((_, _, script_mode, _, _, _, _) as setup) = start_up () in try + Printexc.record_backtrace true; main_loop setup; if not script_mode then endwin (); false @@ -41,10 +42,12 @@ let error = | Libvirt.Virterror err -> if not script_mode then endwin (); prerr_endline (Libvirt.Virterror.to_string err); + Printexc.print_backtrace stderr; true | exn -> if not script_mode then endwin (); prerr_endline (s_ "Error" ^ ": " ^ Printexc.to_string exn); + Printexc.print_backtrace stderr; true let () = |