Collects and displays high-resolution traces of what a process is doing
Library magic-trace.magic_trace_lib
type t
val breakpoint_fd : Core.Pid.t -> addr:int64 -> single_hit:bool -> t Core.Or_error.t

Uses perf_event_open to set a hardware breakpoint at a given address in a process. When that breakpoint is hit the resulting file descriptor will poll as readable.

If single_hit is set the breakpoint will disable itself after being hit once.

val destroy : t -> unit
module Hit : sig ... end
val next_hit : t -> Hit.t option

Returns a waitable fd valid only until t is destroyed or GCd