Skip to content
This repository has been archived by the owner on Jul 15, 2023. It is now read-only.

Add note about needing WSL 2 on Windows 10 #3167

Merged
merged 2 commits into from
Apr 18, 2020
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ A few of these are available in the editor context menu as an experimental featu

### _Optional_: Debugging

To use the debugger, you must currently manually install `delve`. See the [Installation Instructions](https://github.com/derekparker/delve/tree/master/Documentation/installation) for full details. On MacOS it requires creating a self-signed cert to sign the `dlv` binary.
To use the debugger, you must currently manually install `delve`. See the [Installation Instructions](https://github.com/derekparker/delve/tree/master/Documentation/installation) for full details. On MacOS it requires creating a self-signed cert to sign the `dlv` binary. If using WSL on Windows, you will need the WSL 2 Linux kernel. See [WSL 2 Installation](https://docs.microsoft.com/en-us/windows/wsl/wsl2-install) and note the Window 10 build version requirements.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and note the Window 10 build version requirements.

Its not clear to me as to why we want to call this out. Can you elaborate?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The default WSL uses syscall mapping, hence delve just hangs on the trace() call. You need to join the Windows Insiders program and get the latest version of the OS, and then you can install the WSL 2 kernel, which is a true virtualized machine.


For more read [Debugging Go Code Using VS Code](https://github.com/Microsoft/vscode-go/wiki/Debugging-Go-code-using-VS-Code).

Expand Down
7 changes: 6 additions & 1 deletion docs/Debugging-Go-code-using-VS-Code.md
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,11 @@ You may see this in the debug console, while trying to run in the `test` mode. T

**_Solution_**: Ensure that the `program` attribute points to the folder that contains the test files you want to run.

#### delve/launch hangs with no messages
mpatnode marked this conversation as resolved.
Show resolved Hide resolved
Try running ```delve debug ./main``` at the WSL command line and see if you get a prompt

**_Solution_**: Ensure you are running the WSL 2 Kernel, which (as of 4/15/2020) requires an early release of the Windows 10 OS. This is available to anyone via the Windows Insider program. See [WSL 2 Installation](https://docs.microsoft.com/en-us/windows/wsl/wsl2-install)

#### could not launch process: could not fork/exec
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ramya-rao-a Wasn't sure what to do with this dangler.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, which dangler?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "could not launch process: could not fork/exec" line has no explanation or solution

Copy link
Contributor

@ramya-rao-a ramya-rao-a Apr 18, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah! The solution to that is split for Mac vs Linux, looks like the lack of indentation isnt helping anyone :) I'll fix that


##### OSX
Expand All @@ -258,4 +263,4 @@ Check the version of delve api being used in the remote delve process i.e check

#### Try using dlv from the terminal/command-line

Add `"trace": "log"` to your debug configuration and debug in VS Code. This will send logs to the debug console where you can see the actual call being made to dlv. You can copy that and run it in your terminal
Add `"trace": "log"` to your debug configuration and debug in VS Code. This will send logs to the debug console where you can see the actual call being made to dlv. You can copy that and run it in your terminal