8 sig |
8 sig |
9 type exn_id |
9 type exn_id |
10 val exn_id: exn -> exn_id |
10 val exn_id: exn -> exn_id |
11 val print_exn_id: exn_id -> string |
11 val print_exn_id: exn_id -> string |
12 val eq_exn_id: exn_id * exn_id -> bool |
12 val eq_exn_id: exn_id * exn_id -> bool |
13 type location |
13 val on_entry: (string * ML_Compiler0.polyml_location -> unit) option -> unit |
14 val on_entry: (string * location -> unit) option -> unit |
14 val on_exit: (string * ML_Compiler0.polyml_location -> unit) option -> unit |
15 val on_exit: (string * location -> unit) option -> unit |
15 val on_exit_exception: (string * ML_Compiler0.polyml_location -> exn -> unit) option -> unit |
16 val on_exit_exception: (string * location -> exn -> unit) option -> unit |
16 val on_breakpoint: (ML_Compiler0.polyml_location * bool Unsynchronized.ref -> unit) option -> unit |
17 val on_breakpoint: (location * bool Unsynchronized.ref -> unit) option -> unit |
|
18 type state |
17 type state |
19 val state: Thread.thread -> state list |
18 val state: Thread.thread -> state list |
20 val debug_function: state -> string |
19 val debug_function: state -> string |
21 val debug_function_arg: state -> ML_Name_Space.valueVal |
20 val debug_function_arg: state -> ML_Name_Space.valueVal |
22 val debug_function_result: state -> ML_Name_Space.valueVal |
21 val debug_function_result: state -> ML_Name_Space.valueVal |
23 val debug_location: state -> location |
22 val debug_location: state -> ML_Compiler0.polyml_location |
24 val debug_name_space: state -> ML_Name_Space.T |
23 val debug_name_space: state -> ML_Name_Space.T |
25 val debug_local_name_space: state -> ML_Name_Space.T |
24 val debug_local_name_space: state -> ML_Name_Space.T |
26 end; |
25 end; |
27 |
26 |
28 structure ML_Debugger: ML_DEBUGGER = |
27 structure ML_Debugger: ML_DEBUGGER = |
47 in ML_Pretty.to_polyml (ML_Pretty.String (s, FixedInt.fromInt (size s))) end); |
46 in ML_Pretty.to_polyml (ML_Pretty.String (s, FixedInt.fromInt (size s))) end); |
48 |
47 |
49 |
48 |
50 (* hooks *) |
49 (* hooks *) |
51 |
50 |
52 type location = PolyML.location; |
|
53 |
|
54 val on_entry = PolyML.DebuggerInterface.setOnEntry; |
51 val on_entry = PolyML.DebuggerInterface.setOnEntry; |
55 val on_exit = PolyML.DebuggerInterface.setOnExit; |
52 val on_exit = PolyML.DebuggerInterface.setOnExit; |
56 val on_exit_exception = PolyML.DebuggerInterface.setOnExitException; |
53 val on_exit_exception = PolyML.DebuggerInterface.setOnExitException; |
57 val on_breakpoint = PolyML.DebuggerInterface.setOnBreakPoint; |
54 val on_breakpoint = PolyML.DebuggerInterface.setOnBreakPoint; |
58 |
55 |