go - 是否可以使用GoLang调试预构建的go可执行文件?

标签 go debugging ide goland delve

我想知道GoLand是否可以使用dlv exec命令进行调试。
我们之所以需要这样做,是因为我们使用CGO进行了复杂的构建过程,并且不可能创建有效的运行配置。
也许附加到流程可能会起作用,但这似乎不是一个很好的解决方案。
VSCode与dlv exec集成良好,但是IDE的运行速度太慢且有错误,我希望我们可以使用GoLand。
有人找到解决方案了吗?
提前致谢。

最佳答案

您可以使用与debugging a remote process中相同的步骤。
这些步骤是:

  • 使用go build -gcflags="all=-N -l" -o myApp和CGO/etc可能需要的任何其他标志来构建二进制文件。
  • 使用dlv --listen=:2345 --headless=true --api-version=2 exec ./myApp运行二进制文件
  • 转到Run | Edit Configurations | + | Go Remote 并创建一个新的运行配置,该配置连接到localhost端口(或在delve的2345标志中指定的任何其他端口)上的--listen

  • 关于go - 是否可以使用GoLang调试预构建的go可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63363348/

    相关文章:

    go - 如何将xml解码器连接到go exec的stdoutPipe()

    go - db.First() 不使用主键名

    debugging - 有没有高效的方法来调试CUDA的内核功能?

    Xcode 调试器在首次安装应用程序时不起作用

    java - 将网络驱动器上的源编译到本地驱动器上

    google-app-engine - Google App Engine - ByteString 查询失败

    postgresql - gorm没有将db值映射到实体

    android - 应用程序仅在 Debug模式下崩溃

    java - Android Studio 的帮助系统?

    objective-c - 在 OSX 中编写 IDE 或文本编辑器