gpt4 book ai didi

go - 调试需要专用终端的golang程序

转载 作者:行者123 更新时间:2023-12-01 22:45:53 26 4
gpt4 key购买 nike

Golang:1.15
Visual Studio编码:1.49.1
Go程序正在使用gocui渲染控制台用户界面,并且需要专用终端才能正确运行。
问:如何构建程序,在终端中启动并使用VSC进行调试?

最佳答案

  • 带有片段的main开头以报告ProcessID,并等待一分钟以允许VSC附加到启动的进程:
    func main() {
    fmt.Println("Local PID =", os.Getpid())
    time.Sleep(60 * time.Second)
    ...
  • 使用debug flags构建程序:
    go build -gcflags="all=-N -l -dwarf" -o $(BUILD_PATH)
  • 将以下配置添加到您的VSC:
        {
    "name": "Local process debug",
    "type": "go",
    "request": "attach",
    "mode": "local",
    "processId": 11111
    },
  • 允许VSC附加到正在运行的进程:
    echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
  • 一旦进程开始,它将报告其PID,如下所示:Local PID = 1446
  • 用此PID编号替换"processId": 11111(在我的情况下为1446),然后启动调试
  • 关于go - 调试需要专用终端的golang程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64084868/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com