diff options
| author | Gabriel Kerneis | 2014-02-13 14:46:16 +0000 |
|---|---|---|
| committer | Gabriel Kerneis | 2014-02-13 14:46:16 +0000 |
| commit | 700981dba35661515df5cea56fd9c55cac2457b8 (patch) | |
| tree | 88f8d6c5ce62b38cfabac33c65660249b6776bc9 /src/lem_interp | |
| parent | 759f32844c82782a038a074be4ccf28b62b72417 (diff) | |
Display backtrace when interpreter fails
Diffstat (limited to 'src/lem_interp')
| -rw-r--r-- | src/lem_interp/run_interp.ml | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lem_interp/run_interp.ml b/src/lem_interp/run_interp.ml index 84ba37df..209d7a3e 100644 --- a/src/lem_interp/run_interp.ml +++ b/src/lem_interp/run_interp.ml @@ -109,7 +109,9 @@ let run (name, test) = let entry = E_app((Id "main"), [E_lit L_unit]) in eprintf "%s: starting\n" name; try + Printexc.record_backtrace true; loop (Reg.empty, Mem.empty) (interp test entry) with e -> - eprintf "%s: interpretor error %s\n" name (Printexc.to_string e) + let trace = Printexc.get_backtrace () in + eprintf "%s: interpretor error %s\n%s\n" name (Printexc.to_string e) trace ;; |
