如何在 GoLand 终端 运行 时进行调试

How to debug while running from GoLand Terminal

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

GoLand Breakpoint

GoLand Terminal

谢谢。

您可以直接从 GoLand 运行 调试器,它将使用 Go 构建然后深入 运行 应用程序。

但是,如果您想对二进制文件使用自定义构建过程,请像往常一样构建它,并确保指定 -gcflags="all=-N -l"(如果您使用 Go 1.10+,或删除 all= 如果您使用 1.9 或更低版本)。从终端启动二进制文件,然后使用 "Run| Attach to local process" 将调试器附加到二进制文件。

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

是的,可以从 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) 编辑您的调试配置:

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

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

4) 现在放置断点并点击 "debug" 按钮。

Here 你可以找到 video 它看起来像我。

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:

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

4) 现在放置断点并点击 "debug" 按钮。

Here 你可以找到 video 它看起来像我。