Initial version of JerryScript debugger (#1557)
The debugger supports setting breakpoints, execution control (step, next, continue) and getting backtrace. The communication is WebSocket-based, so a browser can communicate with JerryScript without any intermediate application. JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com JerryScript-DCO-1.0-Signed-off-by: Levente Orban orbanl@inf.u-szeged.hu
This commit is contained in:
committed by
Tilmann Scheller
parent
453066fcf1
commit
025a99ccbb
@@ -20,6 +20,7 @@
|
||||
#define JCONTEXT_H
|
||||
|
||||
#include "ecma-builtins.h"
|
||||
#include "jerry-debugger.h"
|
||||
#include "jmem.h"
|
||||
#include "re-bytecode.h"
|
||||
#include "vm-defines.h"
|
||||
@@ -81,6 +82,17 @@ typedef struct
|
||||
uint8_t re_cache_idx; /**< evicted item index when regex cache is full (round-robin) */
|
||||
#endif /* !CONFIG_DISABLE_REGEXP_BUILTIN */
|
||||
|
||||
#ifdef JERRY_DEBUGGER
|
||||
uint32_t debugger_message_delay; /**< call receive message when reaches zero */
|
||||
uint8_t debugger_send_buffer[JERRY_DEBUGGER_MAX_BUFFER_SIZE]; /**< buffer for sending messages */
|
||||
uint8_t debugger_receive_buffer[JERRY_DEBUGGER_MAX_BUFFER_SIZE]; /**< buffer for receiving messages */
|
||||
jmem_cpointer_t debugger_byte_code_free_head; /**< head of byte code free linked list */
|
||||
uint32_t debugger_receive_buffer_offset; /**< receive buffer offset */
|
||||
int debugger_connection; /**< hold the file descriptor for socket communication */
|
||||
bool debugger_stop_exec; /**< stop at the next breakpoint regardless it is enabled */
|
||||
vm_frame_ctx_t *debugger_stop_context; /**< stop only if the current context is equal to this context */
|
||||
#endif /* JERRY_DEBUGGER */
|
||||
|
||||
#ifdef JMEM_STATS
|
||||
jmem_heap_stats_t jmem_heap_stats; /**< heap's memory usage statistics */
|
||||
jmem_pools_stats_t jmem_pools_stats; /**< pools' memory usage statistics */
|
||||
|
||||
Reference in New Issue
Block a user