package bap-traces

  1. Overview
  2. Docs

Traces of execution.

type trace

the trace

module Trace : sig ... end

Trace is a stream of events plus meta data.

module Traces : sig ... end

Loaded traces.

Trace Events

The trace may contain arbitrary events. The events below is a good starting point. Other libraries may add more event.

Supporting data types

module Move : sig ... end

Represent a movement of data

module Chunk : sig ... end

Represent a memory chunk.

module Syscall : sig ... end

a system call

module Exn : sig ... end

hardware exception

module Location : sig ... end

A code location

type location = Location.t
include sig ... end
val location_of_sexp : Sexplib.Sexp.t -> location
val sexp_of_location : location -> Sexplib.Sexp.t
val compare_location : location -> location -> int
val bin_location : location Core_kernel.Std.Bin_prot.Type_class.t
val bin_read_location : location Core_kernel.Std.Bin_prot.Read.reader
val __bin_read_location__ : (int -> location) Core_kernel.Std.Bin_prot.Read.reader
val bin_reader_location : location Core_kernel.Std.Bin_prot.Type_class.reader
val bin_size_location : location Core_kernel.Std.Bin_prot.Size.sizer
val bin_write_location : location Core_kernel.Std.Bin_prot.Write.writer
val bin_writer_location : location Core_kernel.Std.Bin_prot.Type_class.writer
module Call : sig ... end

A subroutine call.

module Return : sig ... end

A return from a call.

module Modload : sig ... end

linking event

type 'a move = 'a Move.t
include sig ... end
val move_of_sexp : (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a move
val sexp_of_move : ('a -> Sexplib.Sexp.t) -> 'a move -> Sexplib.Sexp.t
val compare_move : ('a -> 'a -> int) -> 'a move -> 'a move -> int
val bin_move : 'a Core_kernel.Std.Bin_prot.Type_class.t -> 'a move Core_kernel.Std.Bin_prot.Type_class.t
val bin_read_move : 'a Core_kernel.Std.Bin_prot.Read.reader -> 'a move Core_kernel.Std.Bin_prot.Read.reader
val __bin_read_move__ : 'a Core_kernel.Std.Bin_prot.Read.reader -> (int -> 'a move) Core_kernel.Std.Bin_prot.Read.reader
val bin_reader_move : 'a Core_kernel.Std.Bin_prot.Type_class.reader -> 'a move Core_kernel.Std.Bin_prot.Type_class.reader
val bin_size_move : 'a Core_kernel.Std.Bin_prot.Size.sizer -> 'a move Core_kernel.Std.Bin_prot.Size.sizer
val bin_write_move : 'a Core_kernel.Std.Bin_prot.Write.writer -> 'a move Core_kernel.Std.Bin_prot.Write.writer
val bin_writer_move : 'a Core_kernel.Std.Bin_prot.Type_class.writer -> 'a move Core_kernel.Std.Bin_prot.Type_class.writer
type chunk = Chunk.t
include sig ... end
val chunk_of_sexp : Sexplib.Sexp.t -> chunk
val sexp_of_chunk : chunk -> Sexplib.Sexp.t
val compare_chunk : chunk -> chunk -> int
val bin_chunk : chunk Core_kernel.Std.Bin_prot.Type_class.t
val bin_read_chunk : chunk Core_kernel.Std.Bin_prot.Read.reader
val __bin_read_chunk__ : (int -> chunk) Core_kernel.Std.Bin_prot.Read.reader
val bin_reader_chunk : chunk Core_kernel.Std.Bin_prot.Type_class.reader
val bin_size_chunk : chunk Core_kernel.Std.Bin_prot.Size.sizer
val bin_write_chunk : chunk Core_kernel.Std.Bin_prot.Write.writer
val bin_writer_chunk : chunk Core_kernel.Std.Bin_prot.Type_class.writer
type syscall = Syscall.t
include sig ... end
val syscall_of_sexp : Sexplib.Sexp.t -> syscall
val sexp_of_syscall : syscall -> Sexplib.Sexp.t
val compare_syscall : syscall -> syscall -> int
val bin_syscall : syscall Core_kernel.Std.Bin_prot.Type_class.t
val bin_read_syscall : syscall Core_kernel.Std.Bin_prot.Read.reader
val __bin_read_syscall__ : (int -> syscall) Core_kernel.Std.Bin_prot.Read.reader
val bin_reader_syscall : syscall Core_kernel.Std.Bin_prot.Type_class.reader
val bin_size_syscall : syscall Core_kernel.Std.Bin_prot.Size.sizer
val bin_write_syscall : syscall Core_kernel.Std.Bin_prot.Write.writer
val bin_writer_syscall : syscall Core_kernel.Std.Bin_prot.Type_class.writer
type exn = Exn.t
include sig ... end
val exn_of_sexp : Sexplib.Sexp.t -> exn
val sexp_of_exn : exn -> Sexplib.Sexp.t
val compare_exn : exn -> exn -> int
val bin_exn : exn Core_kernel.Std.Bin_prot.Type_class.t
val bin_read_exn : exn Core_kernel.Std.Bin_prot.Read.reader
val __bin_read_exn__ : (int -> exn) Core_kernel.Std.Bin_prot.Read.reader
val bin_reader_exn : exn Core_kernel.Std.Bin_prot.Type_class.reader
val bin_size_exn : exn Core_kernel.Std.Bin_prot.Size.sizer
val bin_write_exn : exn Core_kernel.Std.Bin_prot.Write.writer
val bin_writer_exn : exn Core_kernel.Std.Bin_prot.Type_class.writer
type call = Call.t
include sig ... end
val call_of_sexp : Sexplib.Sexp.t -> call
val sexp_of_call : call -> Sexplib.Sexp.t
val compare_call : call -> call -> int
val bin_call : call Core_kernel.Std.Bin_prot.Type_class.t
val bin_read_call : call Core_kernel.Std.Bin_prot.Read.reader
val __bin_read_call__ : (int -> call) Core_kernel.Std.Bin_prot.Read.reader
val bin_reader_call : call Core_kernel.Std.Bin_prot.Type_class.reader
val bin_size_call : call Core_kernel.Std.Bin_prot.Size.sizer
val bin_write_call : call Core_kernel.Std.Bin_prot.Write.writer
val bin_writer_call : call Core_kernel.Std.Bin_prot.Type_class.writer
type return = Return.t
include sig ... end
val return_of_sexp : Sexplib.Sexp.t -> return
val sexp_of_return : return -> Sexplib.Sexp.t
val compare_return : return -> return -> int
val bin_return : return Core_kernel.Std.Bin_prot.Type_class.t
val bin_read_return : return Core_kernel.Std.Bin_prot.Read.reader
val __bin_read_return__ : (int -> return) Core_kernel.Std.Bin_prot.Read.reader
val bin_reader_return : return Core_kernel.Std.Bin_prot.Type_class.reader
val bin_size_return : return Core_kernel.Std.Bin_prot.Size.sizer
val bin_write_return : return Core_kernel.Std.Bin_prot.Write.writer
val bin_writer_return : return Core_kernel.Std.Bin_prot.Type_class.writer
type modload = Modload.t
include sig ... end
val modload_of_sexp : Sexplib.Sexp.t -> modload
val sexp_of_modload : modload -> Sexplib.Sexp.t
val compare_modload : modload -> modload -> int
val bin_modload : modload Core_kernel.Std.Bin_prot.Type_class.t
val bin_read_modload : modload Core_kernel.Std.Bin_prot.Read.reader
val __bin_read_modload__ : (int -> modload) Core_kernel.Std.Bin_prot.Read.reader
val bin_reader_modload : modload Core_kernel.Std.Bin_prot.Type_class.reader
val bin_size_modload : modload Core_kernel.Std.Bin_prot.Size.sizer
val bin_write_modload : modload Core_kernel.Std.Bin_prot.Write.writer
val bin_writer_modload : modload Core_kernel.Std.Bin_prot.Type_class.writer
module Event : sig ... end

Types of events.

Meta information

module Tracer : sig ... end

Information about a tracer tool.

module Binary : sig ... end

Information about a traced binary.

module File_stats : sig ... end

File information.

module Trace_stats : sig ... end

Information about the trace itself

type tracer = Tracer.t
include sig ... end
val tracer_of_sexp : Sexplib.Sexp.t -> tracer
val sexp_of_tracer : tracer -> Sexplib.Sexp.t
val compare_tracer : tracer -> tracer -> int
val bin_tracer : tracer Core_kernel.Std.Bin_prot.Type_class.t
val bin_read_tracer : tracer Core_kernel.Std.Bin_prot.Read.reader
val __bin_read_tracer__ : (int -> tracer) Core_kernel.Std.Bin_prot.Read.reader
val bin_reader_tracer : tracer Core_kernel.Std.Bin_prot.Type_class.reader
val bin_size_tracer : tracer Core_kernel.Std.Bin_prot.Size.sizer
val bin_write_tracer : tracer Core_kernel.Std.Bin_prot.Write.writer
val bin_writer_tracer : tracer Core_kernel.Std.Bin_prot.Type_class.writer
type binary = Binary.t
include sig ... end
val binary_of_sexp : Sexplib.Sexp.t -> binary
val sexp_of_binary : binary -> Sexplib.Sexp.t
val compare_binary : binary -> binary -> int
val bin_binary : binary Core_kernel.Std.Bin_prot.Type_class.t
val bin_read_binary : binary Core_kernel.Std.Bin_prot.Read.reader
val __bin_read_binary__ : (int -> binary) Core_kernel.Std.Bin_prot.Read.reader
val bin_reader_binary : binary Core_kernel.Std.Bin_prot.Type_class.reader
val bin_size_binary : binary Core_kernel.Std.Bin_prot.Size.sizer
val bin_write_binary : binary Core_kernel.Std.Bin_prot.Write.writer
val bin_writer_binary : binary Core_kernel.Std.Bin_prot.Type_class.writer
type file_stats = File_stats.t
include sig ... end
val file_stats_of_sexp : Sexplib.Sexp.t -> file_stats
val sexp_of_file_stats : file_stats -> Sexplib.Sexp.t
val compare_file_stats : file_stats -> file_stats -> int
val bin_file_stats : file_stats Core_kernel.Std.Bin_prot.Type_class.t
val bin_read_file_stats : file_stats Core_kernel.Std.Bin_prot.Read.reader
val __bin_read_file_stats__ : (int -> file_stats) Core_kernel.Std.Bin_prot.Read.reader
val bin_reader_file_stats : file_stats Core_kernel.Std.Bin_prot.Type_class.reader
val bin_size_file_stats : file_stats Core_kernel.Std.Bin_prot.Size.sizer
val bin_write_file_stats : file_stats Core_kernel.Std.Bin_prot.Write.writer
val bin_writer_file_stats : file_stats Core_kernel.Std.Bin_prot.Type_class.writer
type trace_stats = Trace_stats.t
include sig ... end
val trace_stats_of_sexp : Sexplib.Sexp.t -> trace_stats
val sexp_of_trace_stats : trace_stats -> Sexplib.Sexp.t
val compare_trace_stats : trace_stats -> trace_stats -> int
val bin_trace_stats : trace_stats Core_kernel.Std.Bin_prot.Type_class.t
val bin_read_trace_stats : trace_stats Core_kernel.Std.Bin_prot.Read.reader
val __bin_read_trace_stats__ : (int -> trace_stats) Core_kernel.Std.Bin_prot.Read.reader
val bin_reader_trace_stats : trace_stats Core_kernel.Std.Bin_prot.Type_class.reader
val bin_size_trace_stats : trace_stats Core_kernel.Std.Bin_prot.Size.sizer
val bin_write_trace_stats : trace_stats Core_kernel.Std.Bin_prot.Write.writer
val bin_writer_trace_stats : trace_stats Core_kernel.Std.Bin_prot.Type_class.writer
module Meta : sig ... end

Types of meta information.