-
Notifications
You must be signed in to change notification settings - Fork 45
Virtualgo does not work well with delve #11
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
Comments
OSX and Gogland user here :) Can you provide more information on how I can try reproducing this? Which version of vg are you using ( |
There's definitely some issues with the symlink approach in full isolation mode. Have you tried using it in global fallback mode to see if that solves the issue: https://github.com/GetStream/vg#workspaces-with-global-gopath-fallback Another solution I'm working on is by using bindfs mounts instead of symlinks, it can be found on the bindfs branch. All commands that support specifying a full package path should work like normal with this branch. I've been using this branch for myself for a while now and haven't run into issues. If you could give it a spin and see if it fixes the delve issue you're having that would be really great. You would have to install If you try out the bindfs branch there's one IMPORTANT thing to keep in mind. Don't delete the workspace directory manually ( |
@tbarbugli I'm currently using:
To reproduce, just set a breakpoint within any existing test case, and debug the test ( @JelteF I tried with global fallback and it doesn't seem to be breaking. I added both the virtualgo GOPATH and my global GOPATH as fallback. I'll give bindfs branch a try and report back! |
@JelteF this is unrelated, but $ vg moveVendor
Uninstalling "github.com/reservemedia/reservation-srv" from workspace
Unmounting bindfs mount at "/Users/thinh/.virtualgo/reservation-srv/src/github.com/reservemedia/reservation-srv" I made sure that there's no other applications using that mount ( |
Good to hear setting global GOPATH works. But your bindfs thing is weird. I only had that happen when I was actually accessing it. Could you try unmounting it manually using |
@JelteF Yep it's definitely weird; unmounting it manually works for me. Are there any hidden debug flags I can set in order to get some useful output for you? |
No, I don't really have any debug flags at the moment. But you could add some print staments/debug breakpoints around here to try and find out where it's getting stuck: vg/internal/workspace/localInstall.go Lines 167 to 183 in 7158d77
|
You can see that it's calling
|
@JelteF my apologies, I didn't expect it to execute the actual command, haha. I don't have fusermount on my system, so changing L171 to use cmd := exec.Command("umount", pkgSrc) |
Just tested debugging, everything works with |
Good to hear that it works with Regarding the bug, I used For now I would suggest you keep using your changed |
I just pushed a some changes to the bindfs branch that should make it work on OSX. @Taik could you see let me know if this is indeed the case? |
@JelteF it works for me! A minor thing, but should |
Good to hear :). And no Also, I've changed the |
Just released the changes from the So I'm closing this now |
I'm currently using Gogland for go development. Switching over to vg definitely helps with reducing CPU load and in general making gogland snappier.
Running tests still works as expected. When setting breakpoints and running tests in debug mode, it seems like the breakpoints are not registering at all. My current fallback solution is to set GOPATH back to my default global path, effectively disabling
vg
, but that defeats the purpose of using it in the first place :)This may be an OS X thing and how it deals with symlinks, but I thought I'd see if anyone else has a good way of dealing with this.
The text was updated successfully, but these errors were encountered: