vscode调试go代码debug配置文件launch.json和task.json举栗

本文介绍了如何配置VisualStudioCode(VSCode)的launch.json和task.json文件,以进行Go语言的调试。通过launch.json设定debug模式,包括启动类型、二进制文件路径、参数等,同时利用task.json定义预编译和清理任务,确保调试时使用最新无优化的二进制文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

launch.json


{
    "version": "0.2.0",
    "configurations": [
        {
			// 使用debug二进制文件的方式debug go代码,原理是使用delve工具把二进制文件中和源码中打上相同位置断点
            "name": "fiends test debug", // 显示的debug名字
            "type": "go", // 执行的go指令
            "request": "launch", // launch:启动,attach:附加
            "mode": "exec", // debug 二进制文件,首先要编译
            "program": "${workspaceFolder}/xxx_server", // 指定二进制文件所在位置
            "console": "integratedTerminal", //VSCode集成终端,即在VSCode内部启动默认终端
            "cwd": "${workspaceFolder}", // 工作目录
            "args": [ // 传递给程序的参数
                "-e", "test",
                "-net", "inner",
                "-worker", "1"
            ],
            "preLaunchTask": "go_build" // 预执行任务,启动的是task.json中与label对应的脚本
        }
    ]
}

task.json

{
	"version": "2.0.0",
	"tasks": [
		{
			// 编译源码为可执行文件
			"type": "shell",  // 执行类型
			"label": "go_build", // 任务名
			"command": "go", // 执行的终端命令
			"args": [ // 终端指令附带参数
				"build",
				"-gcflags", "all=-N -l", // 关闭编译优化和内联 防止debug二进制文件和代码位置不一致
				"-o", "${workspaceFolder}/xxx_server", // 编译输出二进制文件的文件路径
				"${workspaceFolder}/main", // main.go所在文件夹
			],
            "dependsOn": ["clean_bin"], // 依赖的脚本 里面也是根据label查找任务,会在该脚本执行之前调用
			
		},
        {
			// 清空之前生成的可执行文件,防止debug旧文件
			"type": "shell",
			"label": "clean_bin",
			"command": "rm",
			"args": [
				"-rf", "${workspaceFolder}/xxx_server",
			]
		},
	]
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值