-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Debugger implementation #13433
base: main
Are you sure you want to change the base?
Debugger implementation #13433
Conversation
Add documententation and/or an example on how to configure and/enable this for a specific debugger... if not as part of this PR then to the todo list ? |
What if you have e.g. a monorepo with multiple services written in the same language? |
Uhm, I think most of the debug adapters support multiple threads, but need to look more in to that. Not sure how VS Code handles this, if they allow you to run the same debugger adapter twice or more. |
c71eb06
to
47a5f0c
Compare
I'd love to see another more up-to-date video of the current status of this, if u can find time. :-) |
ac95fbd
to
515122c
Compare
HI, I have started a dlv(go dap server) to debug go program, but i need bring env to the dlv commend. I read the code |
Hey, I think most debug adapters support this already by passing in an |
Ok, understand.... I will test it on js debugger and go delve and study your code. |
7eacd30
to
3f8581a
Compare
Clean up debugger Inventory code
Start showing all the threads as tabs so you can debug multiple threads at the same time.
Because we don't use the result of the find so any would be better in this case
* WIP Move stack frame list to own module * Add missing notify * Remove some more duplicated state for the current stack frame * Clear highlights when stack frame has changed * Fix go to stack frame again
* Pass http client to dap store * Set up DapAdapterDelegate to use for DAP binary fetches * WIP to get debug adapters to use zed directory for installs * Get debugpy automatic download working * Change DapAdapter fetch_or_install to return a Result * Add node_runtime to dap delegate Co-authored-by: Remco Smits <[email protected]> * Create dap_adapter crate & move language dap adapter code to that crate This is the first phase of dap::client refactor to organize debug adapters with zed lsp adapters. Eventually dap::client will have a TransportParams pass to it instead of an adapter, and adapters will handle custom debug events. Co-authored-by: Remco Smits <[email protected]> * Move language specific dap adapter code to their own files * Move DebugAdapter member out of ClientDebugAdapter struct This change was done to make dap::client more in line with zed's lsp::client, it might be reverted depending on if this solution is cleaner or not. * Get php debug adapter to auto download when needed * Get adapter_path argument to work with auto download dap adapters --------- Co-authored-by: Remco Smits <[email protected]>
a4387d3
to
eedd865
Compare
This fixes a display issue, for javascript expression values.
aa32b4a
to
91926cd
Compare
This also fixes an issue that you could not add your own initialize_args for non custom adapters
* Clean up how adapters install and fetch their binary Before this was in one method, which was hard to read and doing to many things. * Add javascript debug adapter * Get node binary from node_runtime * Undo remove request args for lldb * Remove initialize value for now * Remove default values * Fix did not compile javascript * Fix php did not build
Also simplify the DebugAdapterBInary struct
Before this change the debug panel was still in the running state, which is/was wrong. So updating the status to Ended, will update the UI to an correct state.
* Remove not needed notify * Add loaded sources list * Remove not needed double nested div.child() * Remove not needed block * Fix todo for updating loaded source
Closes #5307
Closes #5065
The current state of the debugger implementation:
Screen.Recording.2024-08-12.at.22.25.49.mov
Screen.Recording.2024-10-03.at.22.34.34.mov
All the todo's are in the following channel, so it's easier to work on this together:
https://zed.dev/channel/zed-debugger-11370
If you are on Linux, and you want to join the debugger channel, you can message me on discord and I will invite you.
https://discord.com/channels/869392257814519848/1255246362220691456
Current Features
Release Notes: