-
Notifications
You must be signed in to change notification settings - Fork 2
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
Add Debugging support #68
Comments
@timlueg I have created a separate branch for this pull request, as including the native debug plugin would make it incomptabile with community edition. The branch is cidr-debugger |
@timlueg Binary needs to be build first and then attached when starting the debug session. We can re-use the command create by the run configuration. |
Yes I defined the plugin as optional in the .xml but have not evaluated it yet. Will probably also require some changes to the build.gradle.kts. Maybe something similar whats done here https://github.com/vlang/intellij-v/blob/main/build.gradle.kts
Yes, I wasn't sure how you want to structure this yet. I saw you already implemented it now. I just quickly tested your changes and noticed that now it does not correctly start the debugger or at least it does not stop at the breakpoint anymore. I can get it to work again by setting: (I can create a merge request if you haven't already done so before I find the time.) |
yes, absolutely right.
You can disregard my commit, as in that scenario the output of the build process is not shown on the console. I'm trying to find a possibility to do so. |
Anyway: these are my findings re debugging:
The Zig and Rust plugins also have an automatic toolchain download, which is very convenient for downloading the debug tools. We should also consider implementing it, once debugging is figured out. |
LLDB-DAP works. Need a place to host it, such that the IDE can download it. Also need figure out what dependencies it has |
Looks like here they got LLDB to work using the native debug plugin: https://github.com/vlang/intellij-v Didn't know about DAP. Seems to be again a Microsoft idea like LSP where they use Json and network calls to connect to a local process.... But if this would enabled support for IntelliJ Community Edition. |
Would be ideal to get the native driver working. however, for me it doesn't. Maybe it's an OS thing? Do you have a Linux system? But yes, you're right. DAP working means we can just drop the cidr dependency, I think 🤔, and have it working even on Community Edition EDIT: Getting rid of Cidr means implementing our own XDebugProcess, which handles the logic of interacting between the driver and the IDE. Definitely a project for the future |
Debuggers work on every major OS. Bundled LLDB on Linux doesn't work on GoLand apparently but LLDB-DAP does |
Yes I'm on Linux using Clion. I can now also confirm that LLDB works under CIDR using (For this test I manually build the executable with -debug, as we know that OdinRunCommandLineState wasn't working yet. I have not looked at your recent changes but happy you got debugging working. |
As of the newest version, that you can get from the marketplace, debugging is now fully integrated, including the debug build prior to starting the the debug process. I had LLDB and LLDB DAP tested on macOS, too. They also work there. |
Tasks
Fixes/Issues
The text was updated successfully, but these errors were encountered: