Add source sending feature to the debugger. (#1932)
With this feature the debugger webIDE and the python client can able to send a source code to the debugger while that is running in wait mode. This feature can be activated with the --debugger-wait-source switch and the debugger will wait for the source messages. If every message part are received the debugger will continue the exectuion with the initalized options. JerryScript-DCO-1.0-Signed-off-by: Imre Kiss kissi.szeged@partner.samsung.com
This commit is contained in:
committed by
Zoltan Herczeg
parent
a3885be6ce
commit
3e3d6373b8
+43
-6
@@ -25,18 +25,25 @@ can be used for transmitting debugger messages.
|
||||
## Debugging JavaScript applications
|
||||
|
||||
The debugger client must be connected to the server before the
|
||||
JavaScript application runs. On-the-fly attachment is not supported
|
||||
because the debugging information (e.g. line index of each possible
|
||||
breakpoint location) is not preserved by JerryScript. The client is
|
||||
expected to be run on a system with much more resources and it should
|
||||
be capable of storing this information. JerryScript frees all debug
|
||||
information after it is transmitted to the client to save memory.
|
||||
JavaScript application runs. On-the-fly attachment is supported
|
||||
for one file, right after of engine initialization
|
||||
(this feature available with the python client). The debugging
|
||||
information (e.g. line index of each possible -breakpoint location)
|
||||
is not preserved by JerryScript. The client is expected to be run
|
||||
on a system with much more resources and it should be capable of
|
||||
storing this information. JerryScript frees all debug information
|
||||
after it is transmitted to the client to save memory.
|
||||
|
||||
The following argument makes JerryScript wait for a client
|
||||
connection:
|
||||
|
||||
`--start-debug-server`
|
||||
|
||||
The following argument makes JerryScript wait for a client
|
||||
source code:
|
||||
|
||||
`--debugger-wait-source`
|
||||
|
||||
It is also recommended to increase the log level to see
|
||||
the *Waiting for client connection* message:
|
||||
|
||||
@@ -194,3 +201,33 @@ jerry_debugger_stop_at_breakpoint (bool enable_stop_at_breakpoint)
|
||||
jerry_debugger_stop_at_breakpoint (false);
|
||||
}
|
||||
```
|
||||
|
||||
### jerry_debugger_wait_and_run_client_source
|
||||
|
||||
**Summary**
|
||||
|
||||
Stops the engine and puts that into a waiting loop. If the client send
|
||||
a source code and the JerryScript receive that, then the function will
|
||||
run the source with the initialized options.
|
||||
|
||||
**Prototype**
|
||||
|
||||
```c
|
||||
jerry_debugger_wait_and_run_type_t
|
||||
jerry_debugger_wait_and_run_client_source (jerry_value_t *return_value)
|
||||
```
|
||||
|
||||
**Example**
|
||||
|
||||
```c
|
||||
jerry_init (JERRY_INIT_DEBUGGER);
|
||||
|
||||
jerry_value_t wait_and_run_value;
|
||||
|
||||
if (jerry_debugger_wait_and_run_client_source (&wait_and_run_value) == JERRY_DEBUGGER_SOURCE_RECEIVE_FAILED)
|
||||
{
|
||||
// Handle the fail (e.g. create an error).
|
||||
}
|
||||
|
||||
jerry_release_value (wait_and_run_value);
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user