2016-02-18 07:11:59 -08:00
|
|
|
(**************************************************************************)
|
|
|
|
(* *)
|
|
|
|
(* OCaml *)
|
|
|
|
(* *)
|
|
|
|
(* Jerome Vouillon, projet Cristal, INRIA Rocquencourt *)
|
|
|
|
(* OCaml port by John Malecki and Xavier Leroy *)
|
|
|
|
(* *)
|
|
|
|
(* Copyright 1996 Institut National de Recherche en Informatique et *)
|
|
|
|
(* en Automatique. *)
|
|
|
|
(* *)
|
|
|
|
(* All rights reserved. This file is distributed under the terms of *)
|
|
|
|
(* the GNU Lesser General Public License version 2.1, with the *)
|
|
|
|
(* special exception on linking described in the file LICENSE. *)
|
|
|
|
(* *)
|
|
|
|
(**************************************************************************)
|
1996-11-29 08:55:09 -08:00
|
|
|
|
2019-05-02 08:05:15 -07:00
|
|
|
open Events
|
|
|
|
|
1996-11-29 08:55:09 -08:00
|
|
|
(* Modules used by the program. *)
|
|
|
|
val modules : string list ref
|
|
|
|
|
2014-04-06 08:06:22 -07:00
|
|
|
(* Absolute directories containing source code on machine where source was
|
|
|
|
* compiled *)
|
|
|
|
val program_source_dirs : string list ref
|
|
|
|
|
2019-05-02 08:05:15 -07:00
|
|
|
(* Clear loaded symbols *)
|
|
|
|
val clear_symbols : unit -> unit
|
|
|
|
|
|
|
|
(* Read debugging info from executable or dynlinkable file
|
|
|
|
and associate with given code fragment *)
|
|
|
|
val read_symbols : int -> string -> unit
|
|
|
|
|
|
|
|
(* Add debugging info from memory and associate with given
|
|
|
|
code fragment *)
|
|
|
|
val add_symbols : int -> Instruct.debug_event list list -> unit
|
|
|
|
|
|
|
|
(* Erase debugging info associated with given code fragment *)
|
|
|
|
val erase_symbols : int -> unit
|
1997-02-19 08:09:23 -08:00
|
|
|
|
2019-05-02 08:05:15 -07:00
|
|
|
(* Return the list of all code fragments that have debug info associated *)
|
|
|
|
val code_fragments : unit -> int list
|
|
|
|
|
|
|
|
(* Flip "event" bit on all instructions in given fragment *)
|
|
|
|
val set_all_events : int -> unit
|
1997-02-19 08:09:23 -08:00
|
|
|
|
1997-03-27 13:08:43 -08:00
|
|
|
(* Return event at given PC, or raise Not_found *)
|
|
|
|
(* Can also return pseudo-event at beginning of functions *)
|
2019-05-02 08:05:15 -07:00
|
|
|
val any_event_at_pc : Debugcom.pc -> code_event
|
1997-03-27 13:08:43 -08:00
|
|
|
|
1997-02-19 08:09:23 -08:00
|
|
|
(* Return event at given PC, or raise Not_found *)
|
2019-05-02 08:05:15 -07:00
|
|
|
val event_at_pc : Debugcom.pc -> code_event
|
|
|
|
|
1998-11-12 06:51:27 -08:00
|
|
|
(* Set event at given PC *)
|
2019-05-02 08:05:15 -07:00
|
|
|
val set_event_at_pc : Debugcom.pc -> unit
|
1997-02-19 08:09:23 -08:00
|
|
|
|
|
|
|
(* List the events in `module'. *)
|
2019-05-02 08:05:15 -07:00
|
|
|
val events_in_module : string -> int * Instruct.debug_event list
|
|
|
|
|
|
|
|
(* List the modules in given code fragment. *)
|
|
|
|
val modules_in_code_fragment : int -> string list
|
1997-02-19 08:09:23 -08:00
|
|
|
|
|
|
|
(* First event after the given position. *)
|
|
|
|
(* --- Raise `Not_found' if no such event. *)
|
2019-05-02 08:05:15 -07:00
|
|
|
val event_at_pos : string -> int -> code_event
|
1997-02-19 08:09:23 -08:00
|
|
|
|
|
|
|
(* Closest event from given position. *)
|
|
|
|
(* --- Raise `Not_found' if no such event. *)
|
2019-05-02 08:05:15 -07:00
|
|
|
val event_near_pos : string -> int -> code_event
|
1997-02-19 08:09:23 -08:00
|
|
|
|
2005-08-25 08:35:16 -07:00
|
|
|
(* Recompute the current event *)
|
|
|
|
val update_current_event : unit -> unit
|