Support dump call stack on exception and dump call stack on nuttx (#2042)

This commit is contained in:
Huang Qi 2023-03-22 18:11:53 +08:00 committed by GitHub
parent 0ee6e18a06
commit ea50bd2aca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 2 deletions

View File

@ -195,6 +195,7 @@ execute_main(WASMModuleInstanceCommon *module_inst, int32 argc, char *argv[])
if (argv_buf_offset) if (argv_buf_offset)
wasm_runtime_module_free(module_inst, argv_buf_offset); wasm_runtime_module_free(module_inst, argv_buf_offset);
return ret; return ret;
} }
@ -203,7 +204,7 @@ wasm_application_execute_main(WASMModuleInstanceCommon *module_inst, int32 argc,
char *argv[]) char *argv[])
{ {
bool ret; bool ret;
#if WASM_ENABLE_MEMORY_PROFILING != 0 #if (WASM_ENABLE_MEMORY_PROFILING != 0) || (WASM_ENABLE_DUMP_CALL_STACK != 0)
WASMExecEnv *exec_env; WASMExecEnv *exec_env;
#endif #endif
@ -220,7 +221,15 @@ wasm_application_execute_main(WASMModuleInstanceCommon *module_inst, int32 argc,
wasm_runtime_dump_perf_profiling(module_inst); wasm_runtime_dump_perf_profiling(module_inst);
#endif #endif
return (ret && !wasm_runtime_get_exception(module_inst)) ? true : false; if (ret)
ret = wasm_runtime_get_exception(module_inst) == NULL;
#if WASM_ENABLE_DUMP_CALL_STACK != 0
if (!ret)
wasm_runtime_dump_call_stack(exec_env);
#endif
return ret;
} }
/** /**

View File

@ -216,6 +216,12 @@ else
CFLAGS += -DWASM_ENABLE_MEMORY_TRACING=0 CFLAGS += -DWASM_ENABLE_MEMORY_TRACING=0
endif endif
ifeq ($(CONFIG_INTERPRETERS_WAMR_DUMP_CALL_STACK),y)
CFLAGS += -DWASM_ENABLE_DUMP_CALL_STACK=1
else
CFLAGS += -DWASM_ENABLE_DUMP_CALL_STACK=0
endif
ifeq ($(CONFIG_INTERPRETERS_WAMR_LIBC_BUILTIN),y) ifeq ($(CONFIG_INTERPRETERS_WAMR_LIBC_BUILTIN),y)
CFLAGS += -DWASM_ENABLE_LIBC_BUILTIN=1 CFLAGS += -DWASM_ENABLE_LIBC_BUILTIN=1
CSRCS += libc_builtin_wrapper.c CSRCS += libc_builtin_wrapper.c