summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2011-01-06 12:40:29 +0000
committerRichard W.M. Jones <rjones@redhat.com>2011-01-06 12:43:48 +0000
commitd3def2ccdd0e1f25f4966eee8cfc4396861e4fb4 (patch)
tree05640894ed5afb32ea7f5e02c758c53d0c4fb585
parent0b94aeb460d42eea16bf942dd0892b8ebf63877b (diff)
downloadvirt-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--README5
-rw-r--r--virt-top/virt_top_main.ml3
2 files changed, 7 insertions, 1 deletions
diff --git a/README b/README
index 0e56218..a3ef5dc 100644
--- a/README
+++ b/README
@@ -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 () =