windows下,golang+vscode+delve 远程调试

1 先在远程服务器安装golang和delve

golang的安装,通过官网直接下载安装包安装接口

复制代码
go install github.com/go-delve/delve/cmd/dlv@latest

如果dlv和golang版本不匹配,这里把@latest换成匹配的版本,比如@1.20.0

2 编译带调试信息的程序

go build -gcflags "all=-N -l"

这里go.mod文件在同级目录下,比如编译出的程序名为Test.exe

3 在远程机器上运行程序

dlv --listen=:2345 --headless=true --api-version=2 --accept-multiclient --log exec ./Test.exe -- -d

这里我的程序运行需要传递命令行参数 -d

4 本机配置launch.json并运行

javascript 复制代码
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Remote Debug",
            "type": "go",
            "request": "attach",
            "mode": "remote",
            //"remotePath": "D:\\Test",
            "port": 2345,                
            "host": "10.10.0.37", 
            "cwd": "${workspaceFolder}" 
        }
    ]
}

这里,因为是直接调试exe,远程机器上并没有部署源代码,不需要"remotePath"这一项,配置完launch.json后,直接F5运行,在相关位置下断点即可。

相关推荐
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
伞伞悦读3 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
ttwuai3 天前
Go开源后台管理系统推荐:怎么按技术栈和边界比较4个官方仓库?
golang·gin
C语言小火车3 天前
C/C++ 为什么需要编译器?
开发语言·c++
codeejun3 天前
每日一Go·MySQL-5、锁机制全解析
云原生·golang
霍霍的袁3 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
孙启超3 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust
此生决int3 天前
深入理解C++系列(20)——C++11(下)
开发语言·c++
Achou.Wang3 天前
k8s中nginx worker process自动设置
后端·golang
CoderYanger4 天前
A.每日一题:835. 图像重叠
java·开发语言·程序人生·leetcode·面试·职场和发展·学习方法