【问题标题】:Goland custom shell doesn't apply in debug modeGoland 自定义 shell 不适用于调试模式
【发布时间】:2018-04-27 12:25:49
【问题描述】:

我的 Go 程序使用 librdkafka,这是一个原生 C 库。

由于我在 Windows 上工作,我使用 Cygwin + pkg-config 与该库链接。 由于只能在 Cygwin 中构建程序,因此我必须将 Goland 与 Cygwin shell(而不是默认的 CMD)链接起来

当我运行它时它工作正常(Shift + F10),但在我调试时失败(Shift + F9

这与我不在 Cygwin 中但在默认 CMD 中运行时遇到的错误相同。好像自定义 shell/终端配置不适用于调试模式。

有什么想法吗?

【问题讨论】:

    标签: intellij-idea cygwin jetbrains-ide goland


    【解决方案1】:

    GoLand 中的终端选项适用于内置终端,而不适用于运行配置及其执行。因此,将该选项从默认更改为类似 PowerShell、cygwin 的终端或 WSL 的 bash 不会对您的应用程序的编译产生任何影响。

    请将您的 cygwin 的 bin 目录添加到 Windows PATH,然后停止 IDE,注销,然后重新登录并重新启动 IDE。问题应该解决了。

    【讨论】:

    • 谢谢,我将 Cygwin 的 bin 添加到 PATH 中,现在它通过了 pkg-config 阶段。但是,它现在显示 inconsistent definitions for C.size_t(可能是 x86/x64 的内容),我发现当您运行 go build-gcflags "all=-N -l" 时会发生这种情况,这是调试器自动添加的。有没有办法修改调试选项和/或从构建中删除 gcflags 部分?
    • 不幸的是,目前这是不可能的。这些标志是调试所必需的。我发现与您的新问题类似的唯一参考是:github.com/golang/go/issues/17723#issuecomment-257696920 如果您有关于如何重现此问题的小样本,我很乐意为您提供帮助。或者随时使用与此处相同的句柄在 Gophers Slack 上 ping 我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多