• VS Code 调试 Golang 出现 Failed to continue: Check the debug console for details


    VS Code断点调试Golang时候,弹出提示:Failed to continue: Check the debug console for details

    点击Open launch.json,在env里面添加go.gopath路径

    { 
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Launch",
                "type": "go",
                "request": "launch",
                "mode": "auto",
                "program": "${fileDirname}",
                "env": {
                    "go.gopath": "自己的路径"    // 打开终端,输入命令 go env 可以查看GOPATH路径
                 },
                "args": []
            }
        ]
    }

    再把program的值修改为以下

    "program": "${workspaceRoot}/src"
    
    

    为何把program的值从${fileDirname}改为${workspaceRoot}/src, 原因是:
    1、VS Code会根据program所描述的路径来运行go文件
    2、一个项目只能有一个main函数,打断点的地方不一定是main.go文件;

    总的来说,如果program的值为${fileDirname},我点击Tool.go文件,再点击调试按钮,那么VS Code就会运行Tool文件夹下所有go文件fileDirname从字面意义就能得知是文件所在的文件夹名字Tool.go文件所在文件夹名字就是Tool${fileDirname}现在就是指运行Tool文件夹内所有go 文件,但是我main函数main.go里面,而main.gosrc文件夹里面,所以调试是不可能运行起来的,一样会弹出Failed to continue: Check the debug console for details.提示,(当然,如果你不嫌麻烦,先点击main.go再点击调试按钮,也能跑起来) 而把${fileDirname}替换为${workspaceRoot},并且加上工程所在目录,就是指我运行的是src文件夹下所有go文件,这样main.go文件也会执行到,就不会像之前一样,点击其他go文件,运行就出错

    还有一点就是进行调试时候,输出的信息是在底部的DEBUG CONSOLE里面的打印,而不是我们正常的OUTPUT里面打印

  • 相关阅读:
    Mysql5.6主从复制-基于binlog
    mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
    socket recv阻塞与非阻塞error总结
    linux socket talkclient talkserver示例
    linux-socket connect阻塞和非阻塞模式 示例
    OPENSSL FIPS
    epoll的LT和ET使用EPOLLONESHOT
    如何在socket编程的Tcp连接中实现心跳协议
    linux网络编程:splice函数和tee( )函数高效的零拷贝
    Linux网络编程--sendfile零拷贝高效率发送文件
  • 原文地址:https://www.cnblogs.com/cjjjj/p/11847262.html
Copyright © 2020-2023  润新知