У меня есть последняя версия IntelliJ Ultimate EAP и последняя версия Gogland, и проблема возникает как на MacOS Sierra.
Я пытаюсь отладить приложение go, создав профиль отладки для Go Application
, а Run Kind
настроен на Package
, который содержит имя пакета текущего проекта.
под Go tool arguments
у меня настроено -ldflags="-linkmode internal"
.
Когда я запускаю сеанс отладки, имея несколько точек останова, он запускается, но не останавливается на этих точках останова.
что мне не хватает?
Благодарность
Обновить
хорошо, я смог воспроизвести проблему со следующим проектом:
test1.go
содержит:
package main
const Numb uint64 = 5
test2.go
содержит:
package main
import "fmt"
func main() {
fmt.Println(Numb);
}
Я создал Go Application
конфигурацию запуска / отладки со следующими параметрами:
Run kind: package
Package: github.com/kfirufk/test
Working Directory: /usr/local/Cellar/go/1.8.1/src/github.com/kfirufk/test/
когда я выбираю точку останова в test2.go
строке 6 (первая и единственная строка кода в основной функции) и запускаю сеанс отладки, я вижу следующий результат:
"/Users/ufk/Library/Application Support/IntelliJIdea2017.1/Go/lib/dlv/mac/dlv" --listen=localhost:53111 --headless=true exec /private/var/folders/cn/n7rwdd_95_l54s3zdnbxvw040000gn/T/Unnamedgo --
GOROOT=/usr/local/Cellar/go/1.8.1/libexec
GOPATH=/usr/local/opt/go
/usr/local/Cellar/go/1.8.1/libexec/bin/go build -o /private/var/folders/cn/n7rwdd_95_l54s3zdnbxvw040000gn/T/Unnamedgo -gcflags "-N -l" github.com/kfirufk/test
API server listening at: 127.0.0.1:53111
5
Я получаю вывод программы правильно, но Intellij не остановился в требуемой точке останова.
проблема воспроизводится на Intellij 2017.1.3 с плагином Go Lang 0.171.1928 на MacOS Sierra 10.12.4.
Обновить
пытаясь поиграть с углублением intellij, чтобы попытаться лучше понять, что происходит:
/Users/ufk/Library/Application\ Support/IntelliJIdea2017.1/intellij-go/lib/dlv/mac/dlv exec ./test
затем я выполнил:
(dlv) step
и получил:
Command failed: could not find FDE for PC 0x78bc000
я не понял, как использовать delve, или здесь что-то не работает?
Обновить
yeap .. с continue
отладчик правильно работает с обеими версиями delve (установленной из homebrew и версии intellij). но по-прежнему intellij работает так же, не останавливается на точках останова. Я создаю точку останова на test2.go
в строке, когда печатаю переменную.
Любые идеи ?
delve
из командной строки, поскольку это то, что они используют для отладки. - person eduncan911   schedule 19.05.2017