当前位置:   article > 正文

Visual Studio Code调试方法总结_vscode调试

vscode调试

关键词:
VSCode、Docker、remote-ssh、remote-development
摘 要:
介绍在Windows侧使用Visual Studio Code工具几种场景下的调试方法,语言为C++/C。

一、Visual Studio Code安装

1、下载安装包

下载地址:官方地址
在这里插入图片描述
本文以Windows环境为例,推荐大家下载.zip的版本,使用VSCode工具的老用户,可能会发现使用安装版本的VSCode其默认安装的插件以及用户数据目录都在系统盘,这样长时间使用就会导致系统盘空间被大量占用,虽然可以通过修改快捷方式的运行参数来指定相应的目录,但是也经常会发生在VSCode升级后,这些数据会莫名消失,本人经历过几次,不堪忍受其苦。

2、安装、配置

. zip的安装非常简单,你可以理解为绿色版或者便携版,直接解压即可使用,但为了真正达到便携的目的,可在VSCode根目录手动创建data文件夹,这样用户数据与插件都存放在这个目录下面了,后续VSCode版本升级,直接把data拷到新版本对应目录即可,非常的方便。
另外,便携版本没有右键支持功能,借鉴网上资源修改注册表脚本如下:

@ECHO OFF 
PUSHD %~DP0 
TITLE VSCode 
Md "%WinDir%\System32\test_permissions" 2>NUL||(Echo 请使用右键管理员身份运行&&Pause >NUL&&Exit) 
Rd "%WinDir%\System32\test_permissions" 2>NUL 
SetLocal EnableDelayedExpansion 

SET /P ST=输入a添加右键菜单,输入d删除右键菜单:

if /I "%ST%"=="a" goto :Add 
if /I "%ST%"=="d" goto :Remove 

:Add 
echo "开始添加右键菜单..."
reg add "HKEY_CLASSES_ROOT\*\shell\VSCode" /t REG_SZ /v "" /d "&VSCode" /f 
reg add "HKEY_CLASSES_ROOT\*\shell\VSCode" /t REG_EXPAND_SZ /v "Icon" /d "%~dp0Code.exe" /f 
reg add "HKEY_CLASSES_ROOT\*\shell\VSCode\command" /t REG_SZ /v "" /d "%~dp0Code.exe \"%%1\"" /f 
echo "添加右键菜单结束"
exit 

:Remove 
reg delete "HKEY_CLASSES_ROOT\*\shell\VSCode" /f 
exit

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

可以复制上述脚本保存.bat文件中,并存放于VSCode根目录,注意bat脚本命名,不要尝试使用reg.bat这样的命名试,否则会出现惊奇的效果。然后使用管理员方式运行脚本,根据提示操作即可。

二、本地调试

1、插件安装

在vscode左侧找到插件库,安装 c/c++ 插件

2、编译、调试环境

  1. 安装Visual Sutdio 2017
    相关下载资源充足,可自行搜索下载。
  2. 安装MingW
    官方下载地址

3、cl调试

创建如下图所示的目录以及代码文件,代码内容如下所示:
在这里插入图片描述

#include <iostream>
int main()
{
    std::cout << "vscode debug test" << std::endl;
    return 0;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

启动需要使用Visual Studio 2017中“开发人员命令行工具”,并使用该工具启动VSCode如下图:
在这里插入图片描述
然后执行菜单[Run]->[Add Configuration],选择c++(Windows),然后再点击cl.exe,如下图所示:
在这里插入图片描述
在这里插入图片描述
此时会在.vscode目录生成launch.json、tasks.json两个文件,不用修改,直接F5就可以进行代码调试了,如下图所示:
在这里插入图片描述

3、gdb调试

大部分操作同上,选择调试工具时有所不同,如下图所示:
在这里插入图片描述

三、本地docker容器调试

1、插件安装

在vscode左侧找到插件库,安装 Docker 插件

2、docker安装

官方下载地址
注意:安装系统要求Windows10专业版本以上版本,并要求开启Hyper-V服务功能。

3、gdb调试

  1. 启动容器,挂载本地代码目录
docker run -dit --init --privileged -v f:/WorkSpace/vscode/:/workspace 10.67.43.10/aias/devel-nvidia-cuda110-ubuntu1804:0.4
  • 1

启动VSCode,就可以在左侧Docker插件中看到本地启动的docker容器,并右键该容器选择“Attach Visual Studio Code”,如下图:
在这里插入图片描述
2. 容器内安装插件C/C++,在线无法安装,可选择离线安装方式,下载地址,将离线包拷贝到容器挂载的本地目录中,VSCode左侧找到插件库,点击“…”选择“Install from VSIX…”,然后再选择离线包就可以安装了,如下图:
在这里插入图片描述
3. 然后执行菜单[Run]->[Add Configuration],选择c++(GDB/LLDB),再选择相应的编译器版本就可以了,如下图所示:
在这里插入图片描述
4. 此时会在.vscode目录生成launch.json、tasks.json两个文件,不用修改,直接F5就可以进行代码调试了,如下图所示:
在这里插入图片描述

四、远程宿主机调试

1、插件安装

  1. 使用VSCode安装C/C++插件至远程宿主机,选择离线安装方式,下载地址,将离线包拷贝到远程宿主机,VSCode左侧找到插件库,点击“…”选择“Install from VSIX…”,然后再选择离线包就可以安装了,如下图:
    在这里插入图片描述

  2. 远程宿主机需要安装gcc/g++/gdb环境

  3. VSCode左侧找到remote-ssh插件进行安装,同时其配置文件路径最好自己指定位置,使用默认位置可能出现奇怪的错误,如下图:
    在这里插入图片描述

2、gdb调试

  1. VSCode左侧找到Remote-Explorer,添加远程宿主机环境,同时添加代码目录,如下图所示:

在这里插入图片描述
2. 然后执行菜单[Run]->[Add Configuration],选择c++(GDB/LLDB),再选择相应的编译器版本就可以了,如下图所示:
在这里插入图片描述
3. 此时会在.vscode目录生成launch.json、tasks.json两个文件,不用修改,直接F5就可以进行代码调试了,如下图所示:
在这里插入图片描述

五、远程docker容器调试

1、插件安装

在vscode左侧找到插件库,安装 Docker 、Remote Development插件,然后VSCode里配置远程docker容器所在的宿主机参数docker.host,如下图:
在这里插入图片描述

2、ssh免密登录配置

  1. 创建公钥
ssh-keygen -t rsa 
  • 1

无视它出来的任何提示,欢快的一路回车到底吧。
2. 把公钥 id_rsa.pub 复制到远程机器的 /home/username/.ssh目录 并命名为 authorized_keys
方法1: 一步到位:scp ~/.ssh/id_rsa.pub username@hostname:~/.ssh/authorized_keys

方法2: 复制 scp ~/.ssh/id_rsa.pub username@hostname:~
登陆 ssh username@hostname
追加 cat id_rsa.pub >> .ssh/authorized_keys

3、gdb调试

  1. 远程宿主机启动容器,挂载代码目录
docker run -dit --init --privileged -v /home/jianhongwei/vscode/:/workspace 10.67.43.10/aias/devel-nvidia-cuda110-ubuntu1804:0.4
  • 1

启动VSCode,就可以在左侧Docker插件中看到本地启动的docker容器,并右键该容器选择“Attach Visual Studio Code”,如下图:

  1. 容器内安装插件C/C++,在线无法安装,可选择离线安装方式,下载地址,将离线包拷贝到容器挂载的目录中,VSCode左侧找到插件库,点击“…”选择“Install from VSIX…”,然后再选择离线包就可以安装了,如下图:
    在这里插入图片描述
  2. 然后执行菜单[Run]->[Add Configuration],选择c++(GDB/LLDB),再选择相应的编译器版本就可以了,如下图所示
    在这里插入图片描述
  3. 此时会在.vscode目录生成launch.json、tasks.json两个文件,不用修改,直接F5就可以进行代码调试了,如下图所示:
    在这里插入图片描述
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/422932
推荐阅读
相关标签
  

闽ICP备14008679号