Make debugger port runtime configurable
Convert debug server port from a compile-time constant to a context variable. This enables each engine instance (either running in the same process or in different processes) to listen for connections at different ports, i.e., multiple engines can be debugged at the same time on the same machine. JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
This commit is contained in:
@@ -88,3 +88,31 @@ jerry_debugger_stop_at_breakpoint (bool enable_stop_at_breakpoint) /**< enable/d
|
||||
JERRY_UNUSED (enable_stop_at_breakpoint);
|
||||
#endif /* JERRY_DEBUGGER */
|
||||
} /* jerry_debugger_stop_at_breakpoint */
|
||||
|
||||
/**
|
||||
* Debugger server initialization. Must be called after jerry_init.
|
||||
*/
|
||||
void
|
||||
jerry_debugger_init (uint16_t port) /**< server port number */
|
||||
{
|
||||
#ifdef JERRY_DEBUGGER
|
||||
JERRY_CONTEXT (debugger_port) = port;
|
||||
jerry_debugger_accept_connection ();
|
||||
#else /* !JERRY_DEBUGGER */
|
||||
JERRY_UNUSED (port);
|
||||
#endif /* JERRY_DEBUGGER */
|
||||
} /* jerry_debugger_init */
|
||||
|
||||
/**
|
||||
* Debugger server shutdown. Must be called before jerry_cleanup.
|
||||
*/
|
||||
void
|
||||
jerry_debugger_cleanup (void)
|
||||
{
|
||||
#ifdef JERRY_DEBUGGER
|
||||
if (JERRY_CONTEXT (debugger_flags) & JERRY_DEBUGGER_CONNECTED)
|
||||
{
|
||||
jerry_debugger_close_connection ();
|
||||
}
|
||||
#endif /* JERRY_DEBUGGER */
|
||||
} /* jerry_debugger_cleanup */
|
||||
|
||||
+1
-17
@@ -51,8 +51,7 @@ JERRY_STATIC_ASSERT ((int) ECMA_ERROR_COMMON == (int) JERRY_ERROR_COMMON
|
||||
JERRY_STATIC_ASSERT ((int) ECMA_INIT_EMPTY == (int) JERRY_INIT_EMPTY
|
||||
&& (int) ECMA_INIT_SHOW_OPCODES == (int) JERRY_INIT_SHOW_OPCODES
|
||||
&& (int) ECMA_INIT_SHOW_REGEXP_OPCODES == (int) JERRY_INIT_SHOW_REGEXP_OPCODES
|
||||
&& (int) ECMA_INIT_MEM_STATS == (int) JERRY_INIT_MEM_STATS
|
||||
&& (int) ECMA_INIT_DEBUGGER == (int) JERRY_INIT_DEBUGGER,
|
||||
&& (int) ECMA_INIT_MEM_STATS == (int) JERRY_INIT_MEM_STATS,
|
||||
ecma_init_flag_t_must_be_equal_to_jerry_init_flag_t);
|
||||
|
||||
#ifndef JERRY_JS_PARSER
|
||||
@@ -157,13 +156,6 @@ jerry_init (jerry_init_flag_t flags) /**< combination of Jerry flags */
|
||||
|
||||
jmem_init ();
|
||||
ecma_init ();
|
||||
|
||||
#ifdef JERRY_DEBUGGER
|
||||
if (flags & JERRY_INIT_DEBUGGER)
|
||||
{
|
||||
jerry_debugger_accept_connection ();
|
||||
}
|
||||
#endif /* JERRY_DEBUGGER */
|
||||
} /* jerry_init */
|
||||
|
||||
/**
|
||||
@@ -184,14 +176,6 @@ jerry_cleanup (void)
|
||||
}
|
||||
|
||||
ecma_finalize ();
|
||||
|
||||
#ifdef JERRY_DEBUGGER
|
||||
if (JERRY_CONTEXT (debugger_flags) & JERRY_DEBUGGER_CONNECTED)
|
||||
{
|
||||
jerry_debugger_close_connection ();
|
||||
}
|
||||
#endif /* JERRY_DEBUGGER */
|
||||
|
||||
jmem_finalize ();
|
||||
jerry_make_api_unavailable ();
|
||||
} /* jerry_cleanup */
|
||||
|
||||
Reference in New Issue
Block a user