You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As far as I can tell there is currently no support to debug tasks that are started by code that is running in JuliaInterpreter, correct?
I think (but am not sure) that from the VS Code extension point of view the following would be a good design: we add another argument to debug_command called create_task_callback. Whenever JuliaInterpreter is about to run the (low level) statement that would create a new task it would then just call that callback instead and that callback is then in charge of actually creating the new task.
The call that JuliaInterpreter.jl would need to detect here is probably Core.Task.
The signature for the callback would be (f, reserved_stack::Int=0).
In the VS Code debugger, our implementation for that callback function would look like this in pseudo-code:
functiontask_create_callback(f, reserved_stack)
new_f = () ->begin
frame =construct_juliainterpreter_frame(...)
setup_comm_with_debugger_msg_processing_task()
while# our main normal debugger loop# get next command from debugger msg processing taskdebug_command(....)
endendreturn Core.Task(new_f, reserved_stack)
end
For the UI we could then just treat each task as a thread, and thus expose tasks as primary objects in the debugger UI.
The text was updated successfully, but these errors were encountered:
As far as I can tell there is currently no support to debug tasks that are started by code that is running in JuliaInterpreter, correct?
I think (but am not sure) that from the VS Code extension point of view the following would be a good design: we add another argument to
debug_command
calledcreate_task_callback
. Whenever JuliaInterpreter is about to run the (low level) statement that would create a new task it would then just call that callback instead and that callback is then in charge of actually creating the new task.The call that JuliaInterpreter.jl would need to detect here is probably
Core.Task
.The signature for the callback would be
(f, reserved_stack::Int=0)
.In the VS Code debugger, our implementation for that callback function would look like this in pseudo-code:
For the UI we could then just treat each task as a thread, and thus expose tasks as primary objects in the debugger UI.
The text was updated successfully, but these errors were encountered: