• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

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

武飞扬头像
凌晨九点半
帮助1

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",
			]
		},
	]
}
学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfkgehg
系列文章
更多 icon
同类精品
更多 icon
继续加载