Debugger.Lifter
Interface for lifting execution of GIL commands to a target language
val match_result_to_yojson : match_result -> Yojson.Safe.t
val match_result_of_yojson :
Yojson.Safe.t ->
match_result Ppx_deriving_yojson_runtime.error_or
type ('err, 'annot, 'ast) memory_error_info = {
error : 'err;
The memory error that needs to be lifted
*)command : (int Gil_syntax.Cmd.t * 'annot) option;
The command where it happened
*)tl_ast : 'ast option;
If the program was compiled from the target language, we keep the tl ast around
*)}
type 'cmd_report executed_cmd_data = {
is_breakpoint : bool;
next_kind : (Gil_syntax.Branch_case.t, unit) Utils.Exec_map.next_kind;
id : Logging.Report_id.t;
cmd_report : 'cmd_report;
matches : Utils.Exec_map.matching list;
errors : string list;
branch_path : Gil_syntax.Branch_case.path;
}
val executed_cmd_data_to_yojson :
'cmd_report. ('cmd_report -> Yojson.Safe.t) ->
'cmd_report executed_cmd_data ->
Yojson.Safe.t
val executed_cmd_data_of_yojson :
'cmd_report. (Yojson.Safe.t ->
'cmd_report Ppx_deriving_yojson_runtime.error_or) ->
Yojson.Safe.t ->
'cmd_report executed_cmd_data Ppx_deriving_yojson_runtime.error_or
type handle_cmd_result =
| Stop of Logging.Report_id.t option
| ExecNext of Logging.Report_id.t option * Gil_syntax.Branch_case.t option
val handle_cmd_result_to_yojson : handle_cmd_result -> Yojson.Safe.t
val handle_cmd_result_of_yojson :
Yojson.Safe.t ->
handle_cmd_result Ppx_deriving_yojson_runtime.error_or
val _ : Yojson.Safe.t -> handle_cmd_result Ppx_deriving_yojson_runtime.error_or
module type S = sig ... end
val make_executed_cmd_data :
?is_breakpoint:bool ->
(Gil_syntax.Branch_case.t, unit) Utils.Exec_map.next_kind ->
Logging.Report_id.t ->
'cmd_report ->
?matches:Utils.Exec_map.matching list ->
?errors:string list ->
Gil_syntax.Branch_case.path ->
'cmd_report executed_cmd_data
module Gil_lifter : sig ... end
A basic "GIL-to-GIL" lifter implementation.
module Gil_fallback_lifter : sig ... end
A Lifter
implementation that acts as a proxy to another lifter (TLLifter
), while also keeping a Gil_lifter
updated alongside.