Mam najnowszy IntelliJ Ultimate EAP i najnowszy Gogland, a problem występuje zarówno w systemie MacOS Sierra.aplikacja do debugowania go nie zatrzymuje się w punktach przerwania
próbuję debugowania aplikacji mijają tworzenia profilu diagnostycznym dla Go Application
i Run Kind
jest skonfigurowany do Package
, który zawiera nazwę pakietu bieżącego projektu.
pod Go tool arguments
Mam skonfigurowany -ldflags="-linkmode internal"
.
Po uruchomieniu sesji debugowania z niektórymi przerwami działałaby, ale nie zatrzymałaby się w tych punktach przerwania.
czego mi brakuje?
dzięki
aktualizacja
ok udało mi się odtworzyć problem z następującym projektem:
test1.go
zawiera:
package main
const Numb uint64 = 5
test2.go
zawiera:
package main
import "fmt"
func main() {
fmt.Println(Numb);
}
stworzyłem Go Application
run konfigurację/debug z następującymi parametrami:
Run kind: package
Package: github.com/kfirufk/test
Working Directory: /usr/local/Cellar/go/1.8.1/src/github.com/kfirufk/test/
kiedy wybrać przerwania na test2.go
linii 6 (w pierwszym i jedynym wierszu kodu w funkcji main) i rozpocząć debugowanie sesja, widzę następujący wynik:
"/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
Otrzymuję wynik programu poprawnie, ale Intellij nie zatrzymał się w wymaganym punkcie przerwania.
problem został odtworzony na Intellij 2017.1.3 z wtyczką Go Lang 0.171.1928 na MacOS Sierra 10.12.4.
aktualizacja
próbuje grać z Delve IntelliJ, aby starać się lepiej zrozumieć, co się dzieje:
/Users/ufk/Library/Application\ Support/IntelliJIdea2017.1/intellij-go/lib/dlv/mac/dlv exec ./test
potem stracony:
(dlv) step
i otrzymali:
Command failed: could not find FDE for PC 0x78bc000
czy nie rozumiem, jak korzystać z funkcji delve lub czy coś tu nie działa poprawnie?
aktualizacja
yeap .. z continue
debugger działa prawidłowo z obu wersjach Delve (zainstalowany z homebrew i wersja IntelliJ za). ale wciąż intellij działa tak samo, nie zatrzymuje się na pułapkach. Tworzę punkt przerwania na test2.go
w linii, gdy drukuję zmienną.
jakieś pomysły?
Wyłącz ldflagi z konfiguracji uruchamiania i spróbuj ponownie. – dlsniper
@dlsniper - wyniki są takie same – ufk
Jaką wersję wtyczki IDE/Go posiadasz? Czy możesz podać więcej szczegółów na temat aplikacji, którą próbujesz debugować? Czy ma jakieś CGO? Czy korzystasz z dowiązań symbolicznych? Czy aplikacja jest open source, aby móc ją powielić? Dzięki – dlsniper