최신 IntelliJ Ultimate EAP 및 최신 Gogland가 있으며 문제는 MacOS Sierra에서 발생합니다. 디버깅 응용 프로그램이 중단 점에서 멈추지 않습니다.
나는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);
}
내가
test2.go
6 호선 (main 함수 코드의 처음이자 유일한 라인)에 중단 점을 선택할 때
Run kind: package
Package: github.com/kfirufk/test
Working Directory: /usr/local/Cellar/go/1.8.1/src/github.com/kfirufk/test/
내가 디버그를 시작
나는 다음과 같은 매개 변수와 Go Application
실행/디버그 구성을 작성 세션, 나는 다음 출력을 참조하십시오 :
"/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는 필요한 중단 점에서 멈추지 않았습니다.
MacOS Sierra 10.12.4에서 Go Lang Plugin 0.171.1928로 Intellij 2017.1.3에서 문제가 재현됩니다. 다음
/Users/ufk/Library/Application\ Support/IntelliJIdea2017.1/intellij-go/lib/dlv/mac/dlv exec ./test
I 실행 : 인 IntelliJ의 탐구와 재생하려고
갱신
는 무슨 일이 일어나고 있는지 더 잘 이해하려고하는
(dlv) step
을 수신 :
Command failed: could not find FDE for PC 0x78bc000
내가 어떻게 파고를 사용하는지 이해하지 못했거나 여기 뭔가가 제대로 작동하지 않습니까?
디버거가 탐구의 두 버전으로 제대로 작동 continue
와
엡가 .. (자작에서 설치 및 인 IntelliJ 버전) 업데이트. 하지만 여전히 intellij는 중단 점에서 멈추지 않고 똑같이 작동합니다. 변수를 인쇄 할 때 줄에 test2.go
에 중단 점을 만듭니다.
어떤 아이디어가 있습니까?
실행 구성에서 ldflags를 비활성화하고 다시 시도하십시오. – dlsniper
@dlsniper - 결과가 동일합니다 – ufk
어떤 버전의 IDE/Go 플러그인이 있습니까? 디버깅하려는 앱에 대해 자세히 설명해 주시겠습니까? CGO가 있습니까? 심볼릭 링크를 사용하고 있습니까? 이 앱을 오픈 소스에서 복제 할 수 있습니까? 감사합니다 – dlsniper