vscode调试go语言,vscode插件
vscode go怎样增加调试的启动参数
打开手机的“设置”,如果版本没有更新,直接就有“开发人员选项”,打开USB调试就可以。如果版本已经更新,那就打开 设置 关于手机 软件版本 更多 内部版本,在内部版本这一行,你就猛点吧,然后就提示还有4步、3步、2步、1步,就成为开发人员了;退出到设置,就有“开发人员选项”了。
创新互联主营海南网站建设的网络公司,主营网站建设方案,重庆APP开发公司,海南h5重庆小程序开发搭建,海南网站营销推广欢迎海南等地区企业咨询
VSCode + make + makefile + c++ 断点调试
一、VSCode 自带
新建文件夹 Test - VSCode 打开 Test - 新建文件 main.cpp -
DEBUG “执行按钮”右边“add configuration...” 选择 “g++ build and debug” -
VSCode 自动生成 tasks.json 和 laugh.json 即可断点调试
二、makefile 文件
1. VSCode 新建文件 makefile 内容如下:
.default: all
all: main
main: main.o
g++ -Wall -Werror -std=c++14 -g -O -o $@ $^
%.o: %.cpp
g++ -Wall -Werror -std=c++14 -g -O -c $^
clean:
rm -rf qwirkle *.o *.dSYM
此时,打开命令行,make,可以生成可执行文件
2. task.json 改成如下:
{
"tasks": [
{
"type": "shell",
"label": "shell",
"command": "/usr/bin/make",
}
],
"version": "2.0.0"
}
3. launch.json 改成如下:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit:
"version": "0.2.0",
"configurations": [
{
"name": "g++ build and debug active file", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg",
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"program": "${fileDirname}/main", //将要进行调试的程序的路径,与 makefile 中的 main 一致
"args": [],
"stopAtEntry": true, // 设为true时程序将暂停在程序入口处
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true, // 调试时是否显示控制台窗口,必须为true显示控制台,才能输入,交互
"MIMode": "lldb", // 指定连接的调试器,可以为gdb或lldb。
"preLaunchTask": "shell" //调试会话开始前执行的任务,一般为编译程序。与 tasks.json 的 label 一致
}
]
}
点击 VSCode 执行按钮即可断点调试,找到弹出的窗口,即可输入,交互
注意断点打到 std::cout"start"std::endl; 不停留
delve基础用法及在vscode中的使用
delve 是go语言的调试器,delve的目标是为go提供一个简洁、功能齐全的debug工具,delve易于调用和使用。
为了能够编译delve,需要安装Go 1.10或更高版本
安装好go后,直接go get即可安装,更多安装教程见:
go get github.com/go-delve/delve/cmd/dlv
安装好后,在终端执行dlv或者dlv help 会看到dlv的帮助信息,则说明安装成功
dlv常用命令
delve的目标是成为一个简洁而强大的工具。但如果你不习惯在编译语言中使用源码调试,则可能令人困惑。本文档将提供开始调试go程序所需的全部信息。
调试例子程序如下
├── go.mod
├── go.sum
├── main.go
├── test
└── utils
├── util.go
└── util_test.go
调试程序主要有三个文件,main.go、util.go、util_test.go,内容如下,比较简单,go包管理工具使用的是go module,模块名为test
在vscode debug 的设置中配置launch.json文件
mode 设置为debug时,program的内容${fileDirname}即可,mode 设置为exec时,program的值为二进制文件的路径,通过设置mode的值,即可调试源码和二进制程序(也需要有源码)。mode模式为auto时,测试了下,vscode 并不能通过program的内容来判断是debug还是exec
远程调试时,需要在远程也有源码、二进制包和dlv工具
在远端执行dlv命令
dlv debug --headless --listen=:8989 --api-version=2 --accept-multiclient #用degbug方式启动远程应用程序
dlv exec --headless --listen=:8989 ./test --api-version=2 --accept-multiclient # exec执行当前目录下的test二进制文件
--listen:指定调试端口
--api-version:指定api版本,默认是1
--accept-multiclient:接受多个client调试
在vscode中线下好源码,和远端的源码结构一致。launch.json配置如下:
在vscode中打好断点后,就可以进行远程调试了
go语言配置vscode 用什么编辑器
1。idea+goplugin2。vscode+goplugin(ms[的人]自己搞得)两者调试都是使用的dlv也可以用liteide
标题名称:vscode调试go语言,vscode插件
标题URL:http://scyanting.com/article/dsspdcp.html