从GoLand Terminal运行时如何调试

时间:2018-07-31 14:24:16

标签: debugging go terminal goland

可以从终端(包含在GoLand IDE中)进行调试,我想要做的是从终端运行.go文件时在断点处停止。 这是因为我想运行发送参数的脚本来验证是否已向.go脚本接收到参数。

GoLand Breakpoint

GoLand Terminal

谢谢。

3 个答案:

答案 0 :(得分:2)

您可以直接从GoLand运行调试器,它将使用Go build然后钻研来运行应用程序。

但是,如果您想对二进制文件使用自定义构建过程,请像往常一样构建它,并确保指定-gcflags="all=-N -l"(如果使用Go 1.10+,或者放下{{1} }(如果您使用的是1.9或更低版本)。从终端启动二进制文件,然后使用“运行|附加到本地进程”将调试器附加到二进制文件。

如果不是您要的内容,请澄清问题。

答案 1 :(得分:1)

是的,可以从GoLand进行调试!对我来说,下一个方法是最好的:

1)例如,我们有x.go

package main

import "fmt"

func main() {
    name, ending := "World", "!"
    ending2 := `)`
    fmt.Printf("Hello %s %s%s \n", name, ending, ending2)
}

2)编辑您的调试配置:

enter image description here

3)在控制台的下一个命令中运行:

go build -gcflags='-N -l' x.go \
    && dlv --listen=:2345 --headless=true --api-version=2 exec ./x

4)现在放置断点,然后单击“调试”按钮。

Here ,您可以找到视频对我的感觉。

答案 2 :(得分:1)

GoLand中超级简单!

1)例如,我们有x.go

package main

import "fmt"

func main() {
    name, ending := "World", "!"
    ending2 := `)`
    fmt.Printf("Hello %s %s%s \n", name, ending, ending2)
}

2)设置GOPATH

enter image description here

3)编辑您的调试配置。将Run kind设置为目录,目的是调试目录中的所有go文件:

enter image description here

4)现在放置断点,然后单击“调试”按钮。

enter image description here

Here ,您可以找到视频对我的感觉。