Ltac_plugin.Tactic_debug
TODO: Move those definitions somewhere sensible
val ltac_trace_info : Tacexpr.ltac_stack Exninfo.t
This module intends to be a beginning of debugger for tactic expressions. Currently, it is quite simple and we can hope to have, in the future, a more complete panel of commands dedicated to a proof assistant framework
val debug_prompt : int -> Tacexpr.glob_tactic_expr -> (debug_info -> 'a Proofview.tactic) -> Geninterp.Val.t Names.Id.Map.t -> Tacexpr.ltac_trace option -> 'a Proofview.tactic
Prints the state and waits
val db_initialize : bool -> unit Proofview.NonLogical.t
Initializes debugger
val db_constr : debug_info -> Environ.env -> Evd.evar_map -> EConstr.constr -> unit Proofview.NonLogical.t
Prints a constr
val explain_logic_error : exn -> Pp.t
An exception handler
val explain_logic_error_no_anomaly : exn -> Pp.t
For use in the Ltac debugger: some exception that are usually consider anomalies are acceptable because they are caught later in the process that is being debugged. One should not require from users that they report these anomalies.
val db_breakpoint : debug_info -> Names.lident Tacexpr.message_token list -> unit Proofview.NonLogical.t
Check for/process idtac breakpoint
val defer_output : (unit -> Pp.t) -> unit Proofview.NonLogical.t
Prints a message only if debugger stops at the next step
val push_chunk : Tacexpr.ltac_trace -> unit
Push a trace chunk (multiple frames) onto the trace chunk stack