我正在使用GoLand IDE,我有以下简单的代码:
package main
import (
"fmt"
"time"
)
func main() {
start := time.Now()
time.Sleep(2 * time.Second)
elapsed := time.Since(start)
fmt.Println("elapsed: %s", elapsed)
}
当我运行它,它工作正常,我看到输出。 当我在其中一行中放置断点时,我收到以下错误:
GOROOT=/usr/local/go #gosetup
GOPATH=/root/go #gosetup
/usr/local/go/bin/go build -o /tmp/___go_build_mymain_go -gcflags "all=-N -l" /root/go/src/myproj/mymain.go #gosetup
/home/myuser/Desktop/GoLand-2018.1.4/plugins/go/lib/dlv/linux/dlv --listen=localhost:35607 --headless=true --api-version=2 --backend=default exec /tmp/___go_build_mymain_go -- #gosetup
could not launch process: could not find .debug_line section in binary
Debugger finished with exit code 1
我没有找到有关此错误的任何信息。
我在Go中读到有关调试的内容,并且提到使用正在使用的-gcflags "all=-N -l"
。
这种失败的原因是什么?
您似乎使用的是过时版本的GoLand,2018.1.4。升级到2018.2.2,问题将消失。