IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> [Util]-VSCode+WSL开发环境 -> 正文阅读

[开发工具][Util]-VSCode+WSL开发环境


VSCode是非常流行的代码编辑器,与WSL配合可方便地进行Linux下开发与测试。

WSL

WSL会自动加载本地文件系统到/mnt目录下(如D盘下的wsl目录会映射到/mnt/d/wsl)。

关闭wsl:wsl --shutdown

升级到WSL2

在Win10下先开启wsl功能,默认是WSL1。要升级到WSL2,需要先启用组件,以管理方式启动Powershell:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

执行完成后,根据提示重启系统。

从https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi获取WSL2 Linux内核更新包并运行。

启动Powershell:

  • 查看wsl当前版本:wsl -l -v
  • 更新:wsl --set-version Ubuntu 2
  • 若首次安装(还未安装Linux系统),可设定默认版本:wsl --set-default-version 2

安装编译环境

安装完系统(Ubuntu)后,需要安装编译工具链:

sudo apt update # 更新软件包
sudo apt install build-essential #安装build-essential软件包
sudo apt install gdb # 
sudo apt install cmake

相关命令

wsl相关命令以及安装的系统(以Ubuntu为例)可以直接通过Powershell运行。

设置Ubuntu的默认登录用户(WSL默认已安装时输入的用户登录,可以改为root):

ubuntu config --default-user root

安装的linux发行版本以<distribution name>代替(如Ubuntu):

  • 查看状态:wsl --status
  • 停止wsl:wsl --shutdown,可释放占用的资源;
  • 列出安装版本:wsl --list --verbose/wsl -l -v
  • 安装:wsl --install [--distribution <Distribution Name>],不指定发行版本时,安装默认版本;
  • 运行指定版本:wsl --distribution <Distribution Name> --user <User Name>
  • 卸载指定版本:wsl --unregister <Distribution Name>

VSCode

https://code.visualstudio.com/download处下载VSCode安装包,直接安装即可。安装完成后根据需要安装相应插件。

快捷键

Ctrl + ` 打开或关闭终端

常用快捷键

  • 格式化代码:Alt + Shift + F
  • 单行注释: Ctrl + /
  • 多行注释:Shift + Alt + A/* */
  • 跳到指定行: Ctrl + G,然后输入行号
  • 查找文件: Ctrl + Shift + F

行操作:

  • 剪切当前行: Ctrl + X
  • 插入一行:Ctrl + Enter(无论光标在何位置,插入一行并设光标到新行行首)下方插入;Ctrl + Shift + Enter上方插入;
  • 复制一行:Alt + Shift + ↓下方;Alt + Shift + ↑上方;
  • 移动一行:Alt + ↓下方;Alt + ↑上方;

词操作:

  • 选中一个词:Ctrl + D

搜索替换:

  • 查找:Ctrl + F
  • 替换:Ctrl + H
  • 项目内查找:Ctrl + Shift + F

书签

要使用书签功能,需要先安装Bookmarks插件:

  • 创建或取消:Ctrl + Alt + K
  • 下一个书签:Ctrl + Alt + L
  • 上一个书签:Ctrl + Alt + J

列出所有书签:Ctrl + Shift + P打开控制面板,然后输入bookmarks,选择对应命令即可。

代码折叠

代码折叠都是通过组合键实现的:

  • 折叠代码:先Ctrl + K,再Ctrl + 0(数字0);
  • 展开折叠:先Ctrl + K,再Ctrl + J
  • 切换折叠状态:先Ctrl + K,再Ctrl + L

调试程序

为能调试wsl程序,需要先安装插件Remote - WSL

启动

先进入wsl,然后到程序所在目录,执行:

code .

会打开外部系统的VSCode,(写一个简单hello word程序)根据提示安装所需插件。

调试

创建launch.json文件:选择C++(GDB/LLDB)环境,然后g++ - 生成和调试活动文件,自动完成创建。

设置断点,按F5即可启动调试,在调试控制台可查看调试信息以及执行调试命令。通过-exec <command><command>为GDB指令)即可执行GDB命令(GDB使用可参见《GDB 调试指南》)。

变量查看

GDB有两种常用变量查看方法print(简写p)与display;display方式查看时,每次暂停时都会显示对应变量值。

显示时,都可通过fmt设定内容输出方式:

format释义
xhexadecimal
dsigned decimal
uunsigned decimal
ooctal
tbinary ( t stands for two)
aaddress
ccharacter
ffloating number
sstring

print打印

print完整语法:print [options] [/fmt] expr(可简写为p):

  • options为选项,控制表达式内容或值(通过on或off开启与关闭);
  • fmt:输出格式;
  • expr:查看的变量或表达式(&expr取地址,*expr取指针值)
options说明
-address查看指针变量时,是否同时打印其内存地址,默认值为 on。
等价于单独执行 set print address on|off 命令。
-array是否以便于阅读的格式输出数组中的元素,默认值为 off。
等价于单独执行 set printf array on|off 命令。
-array-indexes对于非字符类型数组,输出每个元素值的时,是否同时显示对应的数组下标,默认值为 off。
等价于单独执行 set print array-indexes on|off 命令。
-pretty以便于阅读的格式打印结构体变量的值,默认值为 off。
等价于单独执行 set print pretty on|off 命令。

print打印变量与表达式值时,还支持@::运算符:

  • @:输出数组中指定长度的元素,如p/x *ary@3以十六进制输出前三个元素,p/c ary[2]@2以字符形式输出数组的下标2、3元素;
  • :::用于指定变量所属作用域(多个同名变量时),p ['file']::var输出文件file中的var(文件名要用引号括起,省略文件名输出全局变量),p <fun>::var输出函数fun中的var;

display追踪

display 追踪变量值,每当程序暂停执行(例如单步执行)时,GDB 调试器都会自动再次打印变量的值,而 print 命令则不会。

display[/fmt] expr

通过info display可查看所有要显示变量列表:

Auto-display expressions now in effect:
Num Enb Expression
1:   y  /x count
2:   y  /x count
3:   y  /c count
  • 通过undisplay <Nums>可删除编号为Nums的变量(多个时用空格分隔)
  • 通过disable display <Nums>可禁用变量显示
  • 通过enable display <Nums>可启用变量显示

x内存

使用examine命令(简写是x)来查看内存地址中的值:

x[/<nfu>] <addr>

nfu三个参数都是可选的:

  • n:正整数,表示要显示内存的长度(后面单元的数量)
  • f:显示方式,见前面fmt格式;
  • u:地址单元
    • b:单字节
    • h:双字节
    • w:四字节
    • g:八字节

x/2xw ary:以十六进制方式显示2个四字节内存(共8个byte);

变量监控

通过watch可监视变量或表达式:

watch <expr>

  • rwatch:只要出现读取目标变量的值的操作,程序就会停止;
  • awatch:只要出现读取目标变量或改变变量的操作,程序就会停止;
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-10-02 15:04:03  更:2021-10-02 15:04:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:43:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码