Как использовать отладчик Delve в коде Visual Studio
Я установил расширение Go для VS-кода, но не смог заставить его работать.
"dlv debug" работает нормально с терминала.
dlv debug src/github.com/user/hello
на launch.json
:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceRoot}",
"env": {},
"args": []
}
]
}
вы знаете, как его настроить?
3 ответов
для использования отладчика Delve в коде Visual Studio с Golang выполните следующие действия:
( Note: for Windows OS replace all $GOPATH with %GOPATH% )
- Установить Последнюю Версию Golang и set
GOROOT
иGOPATH
- добавить
$GOPATH/bin
С вашей ОСPATH
переменные среды. - установить переменную окружения:
GO15VENDOREXPERIMENT = 1
- run:
go get github.com/derekparker/delve/cmd/dlv
и убедитсяdlv
двоичный файл создается в папке$GOPATH/bin
- установить Код Visual Studio
- запуск VS Code Quick Open (Ctrl+P), вставить эту команду:
ext install Go
и нажмите enter. - нажмите кнопку установки
Rich Go language support for Visual Studio Code
- клик
Enable
и перезапустите Visual Studio Code - внутри
Visual Studio Code
Открыть Папку Ctrl+ Shift+E , например:$GOPATH\src\hello\
- Откройте
hello.go
из этой папки (или создать новый файл Ctrl+N и сохранить его в этой папке):
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
i := 101
fmt.Println(i)
}
- Затем Откройте Отладчик Ctrl+ Shift+D
- на эту строку:
i := 101
пресс F9 установить или переключить beakpoint. - пресс Ф5 чтобы начать отладку или запустить приложение, если вас попросят выбрать environment: select
Go
. - пресс Ф10 перешагнуть.
- пресс F11 войти.
- пресс Shift+F11 выйти.
- пресс Shift+Ф5 остановить отладку.
- пресс Ctrl+ Shift+Ф5 для перезапуска отладки.
мой launch.json
нетронутым:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "debug",
"remotePath": "",
"port": 2345,
"host": "127.0.0.1",
"program": "${workspaceRoot}",
"env": {},
"args": [],
"showLog": true
}
]
}
результат:
FTA (в случае, если это трудно найти), если при использовании delve
и вы cannot find package
ошибки, даже если ваш GOPATH
установлен правильно, проверьте эта ошибка vscode-go, это влияет как на MAC OS, так и на Linux, по состоянию на октябрь 2017 года.
решение также опубликовано там:
... добавление GOPATH в качестве env var в свойство env при запуске.файл json решил проблему
запуск контента.json для gdb и delve
{
// Используйте IntelliSense, чтобы узнать о возможных атрибутах.
// Наведите указатель мыши, чтобы просмотреть описания существующих атрибутов.
// Для получения дополнительной информации посетите: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Delve",
"type": "go",
"request": "launch",
"mode": "debug",
"remotePath": "",
"port": 2345,
"host": "127.0.0.1",
"program": "${workspaceRoot}/src/hello/hello.go",
"env": {},
"args": [],
"showLog": true
}
,
{
"type": "gdb",
"request": "launch",
"name": "GDB",
"target": "${workspaceRoot}/src/hello/hello",
"cwd": "${workspaceRoot}",
"linux": {
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
},
}
]
}