debugger: improve print command

Now handles arbitrarily complex member/subscript expressions, with
pretty-printing and a configurable recursion depth.
This commit is contained in:
Nunuhara Cabbage
2023-01-08 17:13:33 -08:00
parent d8f936f1df
commit a55893bf2f
4 changed files with 344 additions and 105 deletions
+1 -4
View File
@@ -70,10 +70,7 @@ void dbg_print_frame(unsigned no);
void dbg_print_stack_trace(void);
void dbg_print_stack(void);
void dbg_print_vm_state(void);
struct ain_variable *dbg_get_member(const char *name, union vm_value *val_out);
struct ain_variable *dbg_get_local(const char *name, union vm_value *val_out);
struct ain_variable *dbg_get_global(const char *name, union vm_value *val_out);
struct ain_variable *dbg_get_variable(const char *name, union vm_value *val_out);
union vm_value dbg_eval_string(const char *str, struct ain_type *type_out);
struct string *dbg_value_to_string(struct ain_type *type, union vm_value value, int recursive);
#ifdef HAVE_SCHEME