diff options
author | Jimmy Huang <jimmy.huang@intel.com> | 2018-02-01 10:54:42 -0800 |
---|---|---|
committer | Geoff Gustafson <geoff@linux.intel.com> | 2018-05-18 15:50:27 -0700 |
commit | 3ec5b47a6a72170e8ab57e0155b048fe09219dca (patch) | |
tree | a07d859ca3ebcab98df597801121f96d099bb030 /src/zjs_console.c | |
parent | 0f1ca5424d85131fd488b1baa9b8a3daa4fbafa8 (diff) |
[debugger] Added debugger support for Zephyr
Created shim layer for building against the POSIX network stack on
Zephyr which enables the debugger to run on the frdm_k64f board with
TCP IPV4 on port 5001.
Signed-off-by: Jimmy Huang <jimmy.huang@intel.com>
Diffstat (limited to 'src/zjs_console.c')
-rw-r--r-- | src/zjs_console.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/zjs_console.c b/src/zjs_console.c index 3548973..852c51b 100644 --- a/src/zjs_console.c +++ b/src/zjs_console.c @@ -12,6 +12,10 @@ #include "zjs_zephyr_port.h" #endif +#ifdef JERRY_DEBUGGER +#include "debugger.h" +#endif + #define MAX_STR_LENGTH 256 #ifdef ZJS_LINUX_BUILD @@ -118,17 +122,29 @@ static void print_value(const jerry_value_t value, FILE *out, bool deep, if (!value2str(value, buf, MAX_STR_LENGTH, quotes) && deep) { if (jerry_value_is_array(value)) { u32_t len = jerry_get_array_length(value); +#ifdef JERRY_DEBUGGER + jerry_debugger_send_output((jerry_char_t *)"[", 1, JERRY_DEBUGGER_OUTPUT_OK); +#endif fprintf(out, "["); for (int i = 0; i < len; i++) { if (i) { +#ifdef JERRY_DEBUGGER + jerry_debugger_send_output((jerry_char_t *)", ", 2, JERRY_DEBUGGER_OUTPUT_OK); +#endif fprintf(out, ", "); } ZVAL element = jerry_get_property_by_index(value, i); print_value(element, out, false, true); } +#ifdef JERRY_DEBUGGER + jerry_debugger_send_output((jerry_char_t *)"]", 1, JERRY_DEBUGGER_OUTPUT_OK); +#endif fprintf(out, "]"); } } else { +#ifdef JERRY_DEBUGGER + jerry_debugger_send_output((jerry_char_t *)buf, strlen(buf), JERRY_DEBUGGER_OUTPUT_OK); +#endif fprintf(out, "%s", buf); } } @@ -138,6 +154,9 @@ static ZJS_DECL_FUNC_ARGS(do_print, FILE *out) for (int i = 0; i < argc; i++) { if (i) { // insert spaces between arguments +#ifdef JERRY_DEBUGGER + jerry_debugger_send_output((jerry_char_t *)" ", 1, JERRY_DEBUGGER_OUTPUT_OK); +#endif fprintf(out, " "); } print_value(argv[i], out, true, false); |