diff options
Diffstat (limited to 'src/synth/elab-debugger.ads')
-rw-r--r-- | src/synth/elab-debugger.ads | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/synth/elab-debugger.ads b/src/synth/elab-debugger.ads index 3376e3ba3..cc456dfc1 100644 --- a/src/synth/elab-debugger.ads +++ b/src/synth/elab-debugger.ads @@ -23,6 +23,9 @@ with Vhdl.Nodes; use Vhdl.Nodes; with Elab.Vhdl_Context; use Elab.Vhdl_Context; package Elab.Debugger is + -- True to start debugger on error. + Flag_Debug_Enable : Boolean := False; + -- If true, debugging is enabled: -- * call Debug_Break() before executing the next sequential statement -- * call Debug_Leave when a frame is destroyed. @@ -37,10 +40,15 @@ package Elab.Debugger is procedure Debug_Leave (Inst : Synth_Instance_Acc); + -- Debug on a time breakpoint. + procedure Debug_Time; + -- To be called in case of execution error, like: -- * index out of bounds. procedure Debug_Error (Inst : Synth_Instance_Acc; Expr : Node); + function Debug_Current_Instance return Synth_Instance_Acc; + type Menu_Procedure is access procedure (Line : String); type Cst_String_Acc is access constant String; @@ -54,11 +62,19 @@ package Elab.Debugger is Help : Cst_String_Acc; Proc : Menu_Procedure); + -- Prepare resume execution. + procedure Prepare_Continue; -- Utilities for menu commands. -- Return the position of the first non-blank character. function Skip_Blanks (S : String) return Positive; + function Skip_Blanks (S : String; F : Positive) return Positive; + + -- Return the position of the last character of the word (the last + -- non-blank character). + function Get_Word (S : String) return Positive; + function Get_Word (S : String; F : Positive) return Positive; -- Convert STR to number RES, set VALID to true iff the conversion is ok. procedure To_Num (Str : String; Res : out Uns32; Valid : out Boolean); |