equal
deleted
inserted
replaced
4 Detailed exception trace via ML debugger. |
4 Detailed exception trace via ML debugger. |
5 *) |
5 *) |
6 |
6 |
7 signature EXN_DEBUGGER = |
7 signature EXN_DEBUGGER = |
8 sig |
8 sig |
9 val capture_exception_trace: (unit -> 'a) -> (string * ML_Debugger.location) list * 'a Exn.result |
9 val capture_exception_trace: |
|
10 (unit -> 'a) -> (string * ML_Compiler0.polyml_location) list * 'a Exn.result |
10 end; |
11 end; |
11 |
12 |
12 structure Exn_Debugger: EXN_DEBUGGER = |
13 structure Exn_Debugger: EXN_DEBUGGER = |
13 struct |
14 struct |
14 |
15 |
15 (* thread data *) |
16 (* thread data *) |
16 |
17 |
17 local |
18 local |
18 val tag = Universal.tag () : ((string * ML_Debugger.location) * exn) list option Universal.tag; |
19 val tag = |
|
20 Universal.tag () : ((string * ML_Compiler0.polyml_location) * exn) list option Universal.tag; |
19 in |
21 in |
20 |
22 |
21 fun start_trace () = Thread.setLocal (tag, SOME []); |
23 fun start_trace () = Thread.setLocal (tag, SOME []); |
22 |
24 |
23 fun update_trace entry exn = |
25 fun update_trace entry exn = |