-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Advanced debugger features #606
Comments
Thank you very much for your wonderful contribution:) Yes, we definitely have to support environment outside of Escargot engine. BTW I have some questions/requests as follows.
|
Hi,
If we would attach when
|
|
Regarding on/off the debugger: the debugger can work silently. If no breakpoints are set, and no stop command is issued, the program just runs. So the IDE can simulate attach / detach / attach again events by temporariliy enabling and disabling breakpoints. Regarding errors: am I understand correctly, that we just need to notify users, but does not need to do any actions? Sending this data is not difficult. |
I missed that "quit" option was already added "finish" option looks similar to "until" option in gdb. Is this also one of essential features in JS debugger? |
"finish" is a command in gdb, and VSCode debugger has a "step-out" command which is the same: I don't think this is essential, so if you want it I can close #618 . |
Btw the VSCode command mapping will look like this (left VSCode, right Escargot debugger): Continue / Pause - ESCARGOT_MESSAGE_CONTINUE / ESCARGOT_MESSAGE_STEP |
Thanks for your detailed explanation. |
I think the core debugger features are completed. The list of these features follows:
Breakpoint management:
Execution control:
Other features:
Could you tell us what other features do you need? I can share some ideas. These ideas requires shell support (environment outside of Escargot engine), so porting them to other environments require some effort.
Source sending feature: instead of executing a js file, the shell enters to a "wait for source code" mode. After the debugger sends the source code, the shell executes it. This is useful for trying JS code without flashing it onto a device, and also useful for demonstration purposes.
Restarting feature: allow the debugger to restart the JavaScript code. This is a difficult feature (for the environment, not for the debugger), since the current execution must be aborted, all resources must be freed, and a new Escargot instance must be created.
Debug log support: most environments have a "print" or "console.log" native function, which displays some text. However, if the device has no screen, this output can be lost. Sending this output to the debugger is useful in this case, since it can also display this output.
The text was updated successfully, but these errors were encountered: