1 (**************************************************************************)
2 (* *)
3 (* OCaml *)
4 (* *)
5 (* Jerome Vouillon, projet Cristal, INRIA Rocquencourt *)
6 (* OCaml port by John Malecki and Xavier Leroy *)
7 (* *)
8 (* Copyright 1996 Institut National de Recherche en Informatique et *)
9 (* en Automatique. *)
10 (* *)
11 (* All rights reserved. This file is distributed under the terms of *)
12 (* the GNU Lesser General Public License version 2.1, with the *)
13 (* special exception on linking described in the file LICENSE. *)
14 (* *)
15 (**************************************************************************)
16
17 open Events
18
19 (* Modules used by the program. *)
20 val modules : string list ref
21
22 (* Absolute directories containing source code on machine where source was
23 * compiled *)
24 val program_source_dirs : string list ref
25
26 (* Clear loaded symbols *)
27 val clear_symbols : unit -> unit
28
29 (* Read debugging info from executable or dynlinkable file
30 and associate with given code fragment *)
31 val read_symbols : int -> string -> unit
32
33 (* Add debugging info from memory and associate with given
34 code fragment *)
35 val add_symbols : int -> Instruct.debug_event list list -> unit
36
37 (* Erase debugging info associated with given code fragment *)
38 val erase_symbols : int -> unit
39
40 (* Return the list of all code fragments that have debug info associated *)
41 val code_fragments : unit -> int list
42
43 (* Flip "event" bit on all instructions in given fragment *)
44 val set_all_events : int -> unit
45
46 (* Return event at given PC, or raise Not_found *)
47 (* Can also return pseudo-event at beginning of functions *)
48 val any_event_at_pc : Debugcom.pc -> code_event
49
50 (* Return event at given PC, or raise Not_found *)
51 val event_at_pc : Debugcom.pc -> code_event
52
53 (* Set event at given PC *)
54 val set_event_at_pc : Debugcom.pc -> unit
55
56 (* List the events in `module'. *)
57 val events_in_module : string -> int * Instruct.debug_event list
58
59 (* List the modules in given code fragment. *)
60 val modules_in_code_fragment : int -> string list
61
62 (* First event after the given position. *)
63 (* --- Raise `Not_found' if no such event. *)
64 val event_at_pos : string -> int -> code_event
65
66 (* Closest event from given position. *)
67 (* --- Raise `Not_found' if no such event. *)
68 val event_near_pos : string -> int -> code_event
69
70 (* Recompute the current event *)
71 val update_current_event : unit -> unit
72