0
点赞
收藏
分享

微信扫一扫

基于wsl的ubuntu vscode调试环境搭建--Apple的学习笔记

素锦时年_1b00 2023-09-21 阅读 44

一,前言

正好在网上搜索文章的时候看到了wsl,我想起来它也是一个虚拟机环境,所以我要用用,没想要一用,感觉比vmware还要方便。

二,环境搭建

A,在wsl中安装ubuntu

1.      首先打开powershell

  输入命令wsl --list –online,来查看支持安装的ubuntu版本。

  注意:若提示连接超时,则是自动ip地址下面没有设置DNS。为当前连接wifi的网络设置DNS

基于wsl的ubuntu vscode调试环境搭建--Apple的学习笔记_ubuntu

2.      安装指定版本的ubuntu

Wsl –install -d Ubuntu-18.04

或者安装默认版本

Wsl –install

注意:若过程中出错,可能是控制面板,启用或关闭服务中开启“Windows虚拟机监控程序平台”。

3.      下载完成后,可能没有自动安装,点击如下即可自动安装。

基于wsl的ubuntu vscode调试环境搭建--Apple的学习笔记_vscode_02

4.      检查ubuntu是否安装成功

可以输入wsl –list查看是否存在ubuntu-18.04,若存在则安装成功。

B,启动ubuntu

1. 启动

若仅安装了一个虚拟机,在Powershell中输入wsl即可启动ubuntu。

2. 关闭Ubuntu子系统

wsl -t Ubuntu

3. 关闭WSL

wsl –shutdown

4. 启动WSL

Wsl

C,window和虚拟机交互文件

\\wsl.localhost\Ubuntu-18.04里面是ubuntu的文件,直接在windows中可以操作,若提示无权限,只要进入ubuntu设置chmod -R 777 xxx文件或文件夹即可。

D,vscode访问ubuntu

1.      在vscode中安装插件wsl。

2.      在vscode的左下角点击一下,然后选择New WSL Window即可连接到虚拟机的ubuntu,当然也可以选择Reopen Folder in WSL(也就是打开虚拟机中的文件)

基于wsl的ubuntu vscode调试环境搭建--Apple的学习笔记_ubuntu_03

3.      接下来就是和正常的vscode调试一样。唯一要注意的是权限问题,比如pthread来创建线程必须有root权限才能执行。

所以要进入root权限,然后安装2个c++插件,其实是安装到虚拟机中的。若不装c++插件则cppdbg会报错。

4.      另外若觉得每次都是用户权限登陆影响调试,可以设置wsl以root权限为默认登陆即可。具体设置方法见《WINDOWS下的wsl如何设置Linux子系统默认用户为root.doxc》

5.      关于编译我是自己输入命令make,没使用vscode的task。默认输出文件路径是output/main。所以vscode我仅用调试F5的功能,所以只要一份配置文件。

{

    "version":"0.2.0",

    "configurations":[

        {

            "name": "(gdb) Launch",

            "type": "cppdbg",

            "request": "launch",

            "program": "${workspaceFolder}/output/main",

            "args": [],

            "stopAtEntry": true,

            "cwd": "${workspaceFolder}",

            "environment": [],

            "externalConsole": false,

            "linux": {

                "MIMode": "gdb",

                "setupCommands": [

                    {

                        "description": "Enable pretty-printing for gdb",

                        "text": "-enable-pretty-printing",

                        "ignoreFailures": true

                    }

                ]

            }

        }

 

    ]

}

举报

相关推荐

0 条评论