Module Trace_loader

module Trace_loader: sig .. end
Load traces generated by Pinsec

val parse_chunk : Pervasives.in_channel -> Trace_piqi.chunk_t option
Read a trace chunk in the given channel. It first read an int64 representing the size of the chunk then read the chunk and parse it with the Piqi structure.
Returns None if there is no chunk anymore
val complete_partial_trace : Trace_type.trace -> Trace_piqi.chunk_t -> bool -> Trace_type.trace
complete_partial_trace trace chunk keep complete trace with the chunk chunk. keep indicates either or not to keep old instruction in the trace. Set to true if the whole trace cannot fit in memory
val complete_all_partial_trace : Trace_type.trace -> Pervasives.in_channel -> Trace_type.trace
read all chunks in the channel and put them in the trace
val load_partial_trace_from_file : ?load_all:bool -> Pervasives.in_channel -> Trace_type.trace
start reading a trace from the given channel. It first parse the trace header and load the first chunk. ?load_all indicates either to load all the chunks or not
val load_partial_trace_from_string : string -> string -> Trace_type.trace
load_partial_trace_from_string header fst_chunk create a trace from the raw header header and a first chunk chunk
val print_trace : Options.trace_format -> unit
print the whole trace
val get_load_content : int64 -> ?esp_value:int64 -> int -> Trace_type.conc_infos -> string
get_load_content addr ~esp_value size infos return the runtime data read in memory at addr of size size in the instruction concrete informations info

Warning:Do not modify esp_value