zoukankan      html  css  js  c++  java
  • Vscode调试golang的debug

    配置启动项

      打开调试面板:VSCode->查看->调试

      添加调试目标:点击添加配置

      添加目标调试配置

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Launch",
                "type": "go",
                "request": "launch",
                "mode": "debug",
                "remotePath": "",
                "port": 2345,
                "host": "127.0.0.1",
                "program": "${fileDirname}",
                "env": {
                    "GOPATH":"D:/Develop/vscodegolang"
                },
                "args": [],
                "showLog": true
            }
        ]
    }
    

        其中"post","host"都是go插件自动生成的,“env”为设置环境变量,设置为工程目录包含bin、src的文件夹

    准备调试插件

      选中要调试的main.go,点击F5会报错误提示:Failded to continue:"Cannot find Delve debugger. Install from https://github.com/derekparker/delve & ensure it is in your "GOPATH/bin" or "PATH"

      使用命令编译调试器:go get github.com/derekparker/delve/cmd/dlv  将dlv调试器放在GOPATH的bin目录下

    开始调试

      选中要调试的main.go,点击F5可以开始调试

      调试快捷键:

          F9 切换断点

          F10 Step over

          F11 Step in

          Shift+F11 Step out

      注意:有些结构体成员法务直接显示时,可以直接选中变量名,添加到监视,或者右键点击"调试:求值"

    多项目调试

      在launch.json中可以添加多组调试入口,通过调试面板中选中对应的配置开启不同目标的调试

    在launch.json中可以添加多组调试入口, 通过调试面板中选中对应的配置开启不同目标的调试
    
    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "client",
                "type": "go",
                "request": "launch",
                "mode": "debug",
                "remotePath": "",
                "port": 2345,
                "host": "127.0.0.1",
                "program": "${fileDirname}",
                "env": {
                    "GOPATH":"D:/Develop/vscodegolang"
                },
                "args": [],
                "showLog": true
            },
    
            {
                "name": "server",
                "type": "go",
                "request": "launch",
                "mode": "debug",
                "remotePath": "",
                "port": 2345,
                "host": "127.0.0.1",
                "program": "${workspaceRoot}/src/server",
                "env": {
                    "GOPATH":"D:/Develop/vscodegolang"
                },
                "args": [],
                "showLog": true
            }
        ]
    }
    "program"中的"${fileDirname}"是以当前选中文件作为启动点
    
    更建议使用"program"的"${workspaceRoot}", 以包名作为启动点的方式进行配置
    

      

  • 相关阅读:
    Win7系统怎样防止注册表被篡改【系统天地】
    Win10总是自动安装应用怎么办【系统天地】
    win10系统更新完不能开机怎么办【系统天地】
    Win7系统系统还原被禁用怎么办【系统天地】
    Win7系统如何删除远程访问功能?【系统天地】
    win10系统如何修复防火墙【系统天地】
    win10如何扩大c盘空间【系统天地】
    PHP redis扩展安装
    redis的安装部署与测试
    Nginx和PHP如何配合工作
  • 原文地址:https://www.cnblogs.com/parallel-Y/p/11577430.html
Copyright © 2011-2022 走看看