From d0913e273554134af47c02740ff0d0e117fd0462 Mon Sep 17 00:00:00 2001 From: paladin-t Date: Mon, 4 Jan 2016 14:57:14 +0800 Subject: [PATCH] +added stack tracing; +added an mb_debug_get_stack_trace function and an MB_ENABLE_STACK_TRACE macro; *polished document. --- HISTORY | 2 + MY-BASIC Quick Reference.pdf | Bin 217034 -> 218118 bytes core/my_basic.c | 79 ++++++++++++++++++++++++++++++++--- core/my_basic.h | 6 +++ 4 files changed, 82 insertions(+), 5 deletions(-) diff --git a/HISTORY b/HISTORY index 54b381f..8696ce4 100755 --- a/HISTORY +++ b/HISTORY @@ -1,4 +1,6 @@ Jan. 4 2016 +Added stack tracing +Added an mb_debug_get_stack_trace function and an MB_ENABLE_STACK_TRACE macro Added support to duplicate a class instance by NEW statement with an identifier string Fixed a string value copy issue in mb_pop_value diff --git a/MY-BASIC Quick Reference.pdf b/MY-BASIC Quick Reference.pdf index 60a213383c4a6c8fc290a3034c2ab9258f0f8330..c044b4b25f79912eec9b50077eda0c47685f37ba 100644 GIT binary patch delta 48967 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 delta 48180 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 diff --git a/core/my_basic.c b/core/my_basic.c index 0459672..1c4aea1 100755 --- a/core/my_basic.c +++ b/core/my_basic.c @@ -264,6 +264,7 @@ static const char* _ERR_DESC[] = { "Invalid iterator", "Empty collection", "Referenced type expected", + "Stack trace disabled", /** Extended abort */ "Extended abort" }; @@ -619,6 +620,9 @@ typedef struct mb_interpreter_t { int last_error_pos; unsigned short last_error_row; unsigned short last_error_col; +#ifdef MB_ENABLE_STACK_TRACE + _ls_node_t* stack_frames; +#endif /* MB_ENABLE_STACK_TRACE */ mb_debug_stepped_handler_t debug_stepped_handler; mb_error_handler_t error_handler; mb_print_func_t printer; @@ -2761,7 +2765,13 @@ _array: } else if(c->type == _DT_FUNC) { ast = ast->prev; if(_IS_UNARY_FUNC(c)) { +#ifdef MB_ENABLE_STACK_TRACE + _ls_pushback(s->stack_frames, c->data.func->name); +#endif /* MB_ENABLE_STACK_TRACE */ result = (c->data.func->pointer)(s, (void**)&ast); +#ifdef MB_ENABLE_STACK_TRACE + _ls_popback(s->stack_frames); +#endif /* MB_ENABLE_STACK_TRACE */ } else { int calc_depth = running->calc_depth; running->calc_depth = _INFINITY_CALC_DEPTH; @@ -3089,6 +3099,10 @@ int _eval_routine(mb_interpreter_t* s, _ls_node_t** l, mb_value_t* va, unsigned /* Evaluate a routine */ int result = MB_FUNC_OK; +#ifdef MB_ENABLE_STACK_TRACE + _ls_pushback(s->stack_frames, r->name); +#endif /* MB_ENABLE_STACK_TRACE */ + if(r->is_basic && r->func.basic.entry) { result = _eval_script_routine(s, l, va, ca, r, has_arg, pop_arg); } else if(!r->is_basic && r->func.native.entry) { @@ -3098,6 +3112,10 @@ int _eval_routine(mb_interpreter_t* s, _ls_node_t** l, mb_value_t* va, unsigned } _exit: +#ifdef MB_ENABLE_STACK_TRACE + _ls_popback(s->stack_frames); +#endif /* MB_ENABLE_STACK_TRACE */ + return result; } @@ -7138,7 +7156,13 @@ int _execute_statement(mb_interpreter_t* s, _ls_node_t** l) { _retry: switch(obj->type) { case _DT_FUNC: +#ifdef MB_ENABLE_STACK_TRACE + _ls_pushback(s->stack_frames, obj->data.func->name); +#endif /* MB_ENABLE_STACK_TRACE */ result = (obj->data.func->pointer)(s, (void**)&ast); +#ifdef MB_ENABLE_STACK_TRACE + _ls_popback(s->stack_frames); +#endif /* MB_ENABLE_STACK_TRACE */ if(result == MB_FUNC_IGNORE) { result = MB_FUNC_OK; obj = (_object_t*)ast->data; @@ -7843,17 +7867,21 @@ int mb_open(struct mb_interpreter_t** s) { (*s)->temp_values = _ls_create(); (*s)->lazy_destroy_objects = _ls_create(); +#ifdef MB_ENABLE_GC + (*s)->gc.table = _ht_create(0, _ht_cmp_ref, _ht_hash_ref, _do_nothing_on_object); + (*s)->gc.recursive_table = _ht_create(0, _ht_cmp_ref, _ht_hash_ref, _do_nothing_on_object); + (*s)->gc.collected_table = _ht_create(0, _ht_cmp_ref, _ht_hash_ref, _do_nothing_on_object); +#endif /* MB_ENABLE_GC */ + running = _create_running_context(); running->meta = _SCOPE_META_ROOT; (*s)->running_context = running; global_scope = _ht_create(0, _ht_cmp_string, _ht_hash_string, 0); running->var_dict = global_scope; -#ifdef MB_ENABLE_GC - (*s)->gc.table = _ht_create(0, _ht_cmp_ref, _ht_hash_ref, _do_nothing_on_object); - (*s)->gc.recursive_table = _ht_create(0, _ht_cmp_ref, _ht_hash_ref, _do_nothing_on_object); - (*s)->gc.collected_table = _ht_create(0, _ht_cmp_ref, _ht_hash_ref, _do_nothing_on_object); -#endif /* MB_ENABLE_GC */ +#ifdef MB_ENABLE_STACK_TRACE + (*s)->stack_frames = _ls_create(); +#endif /* MB_ENABLE_STACK_TRACE */ (*s)->sub_stack = _ls_create(); @@ -7892,6 +7920,10 @@ int mb_close(struct mb_interpreter_t** s) { _ls_destroy((*s)->sub_stack); +#ifdef MB_ENABLE_STACK_TRACE + _ls_destroy((*s)->stack_frames); +#endif /* MB_ENABLE_STACK_TRACE */ + _tidy_scope_chain(*s); _dispose_scope_chain(*s); @@ -7965,6 +7997,10 @@ int mb_reset(struct mb_interpreter_t** s, bool_t clrf/* = false*/) { _ls_foreach(ast, _destroy_object); _ls_clear(ast); +#ifdef MB_ENABLE_STACK_TRACE + _ls_clear((*s)->stack_frames); +#endif /* MB_ENABLE_STACK_TRACE */ + _clear_scope_chain(*s); if(clrf) { @@ -9398,6 +9434,39 @@ int mb_debug_set(struct mb_interpreter_t* s, const char* n, mb_value_t val) { return result; } +int mb_debug_get_stack_trace(struct mb_interpreter_t* s, void** l, char** fs, unsigned fc) { + /* Get stack frame names of an interpreter instance */ +#ifdef MB_ENABLE_STACK_TRACE + int result = MB_FUNC_OK; + _ls_node_t* f = 0; + unsigned i = 0; + mb_unrefvar(l); + + mb_assert(s); + + if(fs && fc) { + f = s->stack_frames->prev; + while(f && f->data && i < fc) { + fs[i++] = (char*)f->data; + f = f->prev; + } + } + while(i < fc) + fs[i++] = 0; + + return result; +#else /* MB_ENABLE_STACK_TRACE */ + int result = MB_FUNC_OK; + mb_unrefvar(fs); + mb_unrefvar(fc); + + _handle_error_on_obj(s, SE_RN_STACK_TRACE_DISABLED, 0, TON(l), MB_FUNC_ERR, _exit, result); + +_exit: + return result; +#endif /* MB_ENABLE_STACK_TRACE */ +} + int mb_debug_set_stepped_handler(struct mb_interpreter_t* s, mb_debug_stepped_handler_t h) { /* Set a stepped handler to an interpreter instance */ int result = MB_FUNC_OK; diff --git a/core/my_basic.h b/core/my_basic.h index fa3829d..7568bc3 100755 --- a/core/my_basic.h +++ b/core/my_basic.h @@ -62,6 +62,10 @@ extern "C" { # define MB_ENABLE_SOURCE_TRACE #endif /* MB_ENABLE_SOURCE_TRACE */ +#ifndef MB_ENABLE_STACK_TRACE +# define MB_ENABLE_STACK_TRACE +#endif /* MB_ENABLE_STACK_TRACE */ + #ifndef MB_ENABLE_UNICODE # define MB_ENABLE_UNICODE #endif /* MB_ENABLE_UNICODE */ @@ -327,6 +331,7 @@ typedef enum mb_error_e { SE_RN_INVALID_ITERATOR, SE_RN_EMPTY_COLLECTION, SE_RN_REFERENCED_EXPECTED, + SE_RN_STACK_TRACE_DISABLED, /** Extended abort */ SE_EA_EXTENDED_ABORT, /** Extra */ @@ -472,6 +477,7 @@ MBAPI int mb_schedule_suspend(struct mb_interpreter_t* s, int t); MBAPI int mb_debug_get(struct mb_interpreter_t* s, const char* n, mb_value_t* val); MBAPI int mb_debug_set(struct mb_interpreter_t* s, const char* n, mb_value_t val); +MBAPI int mb_debug_get_stack_trace(struct mb_interpreter_t* s, void** l, char** fs, unsigned fc); MBAPI int mb_debug_set_stepped_handler(struct mb_interpreter_t* s, mb_debug_stepped_handler_t h); MBAPI const char* mb_get_type_string(mb_data_e t);