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
val __bin_read_location__ : (int -> location) Core_kernel.Bin_prot.Read.reader
val bin_shape_location : Core_kernel.Bin_prot.Shape.t
val compare_location : location -> location -> int
val location_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> location
val sexp_of_location : location -> Ppx_sexp_conv_lib.Sexp.t
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
val compare_move : ('a -> 'a -> int) -> 'a move -> 'a move -> int
val move_of_sexp : (Ppx_sexp_conv_lib.Sexp.t -> 'a) -> Ppx_sexp_conv_lib.Sexp.t -> 'a move
val sexp_of_move : ('a -> Ppx_sexp_conv_lib.Sexp.t) -> 'a move -> Ppx_sexp_conv_lib.Sexp.t
type chunk = Chunk.t
val __bin_read_chunk__ : (int -> chunk) Core_kernel.Bin_prot.Read.reader
val bin_shape_chunk : Core_kernel.Bin_prot.Shape.t
val compare_chunk : chunk -> chunk -> int
val chunk_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> chunk
val sexp_of_chunk : chunk -> Ppx_sexp_conv_lib.Sexp.t
type syscall = Syscall.t
val __bin_read_syscall__ : (int -> syscall) Core_kernel.Bin_prot.Read.reader
val bin_shape_syscall : Core_kernel.Bin_prot.Shape.t
val compare_syscall : syscall -> syscall -> int
val syscall_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> syscall
val sexp_of_syscall : syscall -> Ppx_sexp_conv_lib.Sexp.t
type exn = Exn.t
val __bin_read_exn__ : (int -> exn) Core_kernel.Bin_prot.Read.reader
val bin_shape_exn : Core_kernel.Bin_prot.Shape.t
val compare_exn : exn -> exn -> int
val exn_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> exn
val sexp_of_exn : exn -> Ppx_sexp_conv_lib.Sexp.t
type call = Call.t
val __bin_read_call__ : (int -> call) Core_kernel.Bin_prot.Read.reader
val bin_shape_call : Core_kernel.Bin_prot.Shape.t
val compare_call : call -> call -> int
val call_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> call
val sexp_of_call : call -> Ppx_sexp_conv_lib.Sexp.t
type return = Return.t
val __bin_read_return__ : (int -> return) Core_kernel.Bin_prot.Read.reader
val bin_shape_return : Core_kernel.Bin_prot.Shape.t
val compare_return : return -> return -> int
val return_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> return
val sexp_of_return : return -> Ppx_sexp_conv_lib.Sexp.t
type modload = Modload.t
val __bin_read_modload__ : (int -> modload) Core_kernel.Bin_prot.Read.reader
val bin_shape_modload : Core_kernel.Bin_prot.Shape.t
val compare_modload : modload -> modload -> int
val modload_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> modload
val sexp_of_modload : modload -> Ppx_sexp_conv_lib.Sexp.t
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
val __bin_read_tracer__ : (int -> tracer) Core_kernel.Bin_prot.Read.reader
val bin_shape_tracer : Core_kernel.Bin_prot.Shape.t
val compare_tracer : tracer -> tracer -> int
val tracer_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> tracer
val sexp_of_tracer : tracer -> Ppx_sexp_conv_lib.Sexp.t
type binary = Binary.t
val __bin_read_binary__ : (int -> binary) Core_kernel.Bin_prot.Read.reader
val bin_shape_binary : Core_kernel.Bin_prot.Shape.t
val compare_binary : binary -> binary -> int
val binary_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> binary
val sexp_of_binary : binary -> Ppx_sexp_conv_lib.Sexp.t
type file_stats = File_stats.t
val __bin_read_file_stats__ : (int -> file_stats) Core_kernel.Bin_prot.Read.reader
val bin_shape_file_stats : Core_kernel.Bin_prot.Shape.t
val compare_file_stats : file_stats -> file_stats -> int
val file_stats_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> file_stats
val sexp_of_file_stats : file_stats -> Ppx_sexp_conv_lib.Sexp.t
type trace_stats = Trace_stats.t
val __bin_read_trace_stats__ : (int -> trace_stats) Core_kernel.Bin_prot.Read.reader
val bin_size_trace_stats : trace_stats Core_kernel.Bin_prot.Size.sizer
val bin_shape_trace_stats : Core_kernel.Bin_prot.Shape.t
val compare_trace_stats : trace_stats -> trace_stats -> int
val trace_stats_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> trace_stats
val sexp_of_trace_stats : trace_stats -> Ppx_sexp_conv_lib.Sexp.t
module Meta : sig ... end

Types of meta information.

OCaml

Innovation. Community. Security.