win 10 下 使用vscode 應用WSL +cmake 做C/C++開發調試

安裝WSL

啓動Linux 子系統功能

進制控制面板->程序和功能, 將適用於Linux的Windows子系統勾選。

在這裏插入圖片描述

安裝 Windows Terminal

在 Microsoft Store市場上搜索 WSL 安裝 Terminal

安裝WSL

在 Microsoft Store市場上搜索 WSL 安裝 Ubuntu 18.04 LTS

在這裏插入圖片描述

如何啓動 Ubuntu?

  1. 在 cmd/powershell中輸入 bash回車即可進入linux子系統
  2. 直接在terminal下拉中選擇

在這裏插入圖片描述

如果覺得默認的終端主題不好看可以自行安裝 oh my zsh

在這裏插入圖片描述

安裝 編譯工具鏈

sudo apt update # 更新軟件包
sudo apt install build-essential #安裝build-essential軟件包
sudo apt install gdb # 
sudo apt install cmake

等待安裝完成,之後查看安裝結果

cmake --version
gcc -v
g++ -v

安裝vscode

vscode的不說,宇宙第一編輯器,傳送門 https://code.visualstudio.com/

安裝vscode插件

  1. Rmote - WSL
  2. C/C++ IntelliSense
  3. Beautify
  4. Rainbow Brackets
  5. cmake

配置C/C++調試參數

先寫一個簡單的演示項目工程

test.h

#ifndef _TEST_H_
#define _TEST_H_

int add(int a, int b);

#endif

test.c

#include "test.h"

int add(int a, int b)
{
  return a + b;
}

main.c

#include "test.h"
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a = 88;
    int b = 12;
    int c = add(a, b);
    printf("結果是%d\n", c);
    return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 2.8)
project(demo)

add_definitions("-Wall -g -Wno-unknown-warning-option"
        " -Wno-format-extra-args -Wno-format -Wno-pragmas"
        " -Wno-incompatible-pointer-types")

add_executable(1
  src/main.c
  src/test.c
 
)

在.vscode目錄下添加tasks.json

{
   "tasks": [
       {
           // 清空編譯
           "type": "shell",
           "label": "rebuild",
           "command": "cd build; rm -rf *; cmake .. ; make",
           "group": {
               "kind": "build",
               "isDefault": true
           }, 
              
       },
       {
           // 增量編譯 
           "type": "shell",
           "label": "build",
           "command": "cd build; make",
           "group": {
               "kind": "build",
               "isDefault": true
           }, 
       }
   ],
   "version": "2.0.0"
}

在launch.json中添加 調試啓動配置

1. "program":"配置調試的應用路徑"
2. "preLanchTask":"配置Lanch前先執行的任務,可以先執行make"

在這裏插入圖片描述

{
   // 使用 IntelliSense 瞭解相關屬性。 
   // 懸停以查看現有屬性的描述。
   // 欲瞭解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
   "version": "0.2.0",
   "configurations": [
       {
           "name": "增量 (gdb) Launch ",
           "type": "cppdbg",
           "request": "launch",
           "program": "enter program name, for example ${workspaceFolder}/a.out",
           "args": [],
           "stopAtEntry": false,
           "cwd": "${workspaceFolder}",
           "environment": [],
           "externalConsole": false,
           "MIMode": "gdb",
           "setupCommands": [
               {
                   "description": "Enable pretty-printing for gdb",
                   "text": "-enable-pretty-printing",
                   "ignoreFailures": true
               }
           ],
           "preLaunchTask": "build"
       },

       {
           "name": "清空 (gdb) Launch",
           "type": "cppdbg",
           "request": "launch",
           "program": "${workspaceFolder}/build/1",
           "args": [],
           "stopAtEntry": false,
           "cwd": "${workspaceFolder}",
           "environment": [],
           "externalConsole": false,
           "MIMode": "gdb",
           "setupCommands": [
               {
                   "description": "Enable pretty-printing for gdb",
                   "text": "-enable-pretty-printing",
                   "ignoreFailures": true
               }
           ]
           ,
           "preLaunchTask": "rebuild"
       }


   ]
}

開始調試

  1. 設置斷點,點擊調試開關啓動調試

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章