let dumptrace (b,op_l,reg_l) =
let creg_l = List.map Region.concretize reg_l in
let trace_chan = open_out_bin (Options.getValueOfString "tracefile") in
let op_string = ref "" in
let check_o2s x =
let (l1,l2,rv) = Abstraction.op_to_string x in
let s = Printf.sprintf "%d :: %s :: %d \n\n" l1 rv l2 in
op_string := s^(!op_string);
Printf.printf "%d :: %s :: %d \n" l1 rv l2 ;
(l1,l2,rv)
in
Marshal.to_channel trace_chan (b,List.map check_o2s op_l,List.map Abstraction.reg_to_strings creg_l) [];
close_out trace_chan;
Misc.append_to_file "traces" ("Start trace \n "^(!op_string)^"End trace\n");
()