-
-
Notifications
You must be signed in to change notification settings - Fork 43
What do kernels need to do to participate in this? #367
Comments
This is still experimental and on-going work, so a more complete spec is not available yet. However all the work done here and in xeus-python will be used for extending the Jupyter messaging protocol. Here is what is currently done in
|
Awesome! Do you think it makes sense to start working on this? Or is this all still so in flux that it is too early? I wouldn’t mind some breaking changes, as long as the general story is ready? Might also be useful to stress test the design with another language kernel? |
@davidanthoff yes, I think that most of it is already stable, There may be minor changes with respect to the extra messages that are required in addition to the DAP messages. Another aspect to be aware of in your implementation is that ideally, your kernel should be able to process messages of the control channel (including debug messages) concurrently with the messages of the shell channel (which include e.g. execution requests) so that you can add or remove breakpoints while code is running, and not have to wait until the current execution request has completed. The xeus-python codebase is rather simple to look at as it is much more concise than ipykernel and it may be a good way to get a sense of how the backend works. |
@davidanthoff Having another kernel that uses the debugger front-end would be great. Please try it out, kick the tires, and feel free to post issues here. |
We've made a lot of progress with a DAP protocol implementation in Julia, now I'm wondering how we can integrate that with the work here and get the Julia kernel to support debugging.
I looked through #64, and that is super helpful already, i.e. I'm getting a good overview of how this is supposed to work. But a fair number of important details are unclear to me :)
So, I guess first question: is there a more complete spec somehwere?
Some more specific questions:
kernel_info_request
should somehow indicate debugging capability. What exactly needs to be added?debugInfo
request that is shown in the diagram?initialize
request is the first "normal" DAP request, right?debug_request
requests? What exactly is wrapped there? The whole DAP message, including things like theseq
field?The text was updated successfully, but these errors were encountered: