Bootstrap

Windows中VSCode配置编译C++环境与使用gdb调试

一、VSCode及其组件的下载与安装

        VSCoded的官方下载链接:Visual Studio Code - Code Editing. Redefined

        下载完成后,选择合适的路径,保证路径中没有任何中文字符,然后正常安装即可。 完成后打开,可以将途中的一些C/C++及汉化组件下载安装。安装完成后重新打开VSCode。

二、MinGW_w64编译器下载与安装、环境配置

        MinGW_w64下载的官方链接:MinGW-w64

         选择左侧Downloads,找到Windows平台的MSYS2并点击定位到GitHub的快速链接:MSYS2。 打开后可以下载msys2_x86_64-20240507.exe 文件。

          或者直接从github的链接中下载文件:https://github.com/msys2/msys2-installer/releases/

        下载MSYS2文件之后开始进行安装。安装时,建议以右键管理员身份安装MSYS2,然后安装的选项都可以不用动,默认的路径一般就是 C:\msys64

        安装完成后会自动直接打开msys2终端。然后再终端的命令行界面输入指令,安装所需的编译工具。官方的指令是安装gcc,没有其他的工具,不够全面。

# 官方提供指令
pacman -S mingw-w64-ucrt-x86_64-gcc
# 推荐指令
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain

        输入全的指令之后等待一会直接回车,默认全部安装即可,等待安装完成。

        安装完成后,按下组合键Win+R输入cmd指令,在命令行界面可以查看软件版本。

         接下来需要配置环境变量。如果前述的软件的安装路径没有变动,这安装的环境变量位于路径中:C:\msys64\ucrt64\bin

        我们按顺序右击寻找 我的电脑->属性->高级系统设置->环境变量->系统变量,然后双击Path,新建选项,输入路径 C:\msys64\ucrt64\bin。然后一路确认退出即可。

三、VSCode中的配置与调试

        VSCode的配置中,最重要的是task.jsonlaunch.json两个配置文件。在VSCode中新建一个main.cpp输入如下代码:

#include<iostream>
int main(int argc, char* argv[]){
    for(int i=0;i<10;i++){
         std::cout << " test index = " << i << std::endl;
    }
    return 0;
}

(1)运行调试。直接点击左侧运行调试,选择 C++(GDB/LLDB)。编译C则选择gcc,编译C++则选择g++此处我们选择g++

如果编译报错:“C/C++:gcc.exe生成活动文件已终止,退出代码为-1”,编译时会生成一个.vscode文件夹,里面有一个task.json文件, 将“command”的gcc.exe修改为g++.exegcc主要用于编译C语言程序,而g++主要用于编译C++程序。

        在task.json文件中,需要注意两个地方:

command:编译器的路径,我们需要将/usr/bin/g++修改为安装的g++编译环境路径,即C:/msys64/ucrt64/bin/g++.exe。注意路径需要是双反斜杠\\

args的最后一个参数:需要在${fileBasenameNoExtension}名称的后面加一个.exe的后缀。

        如果在不同文件夹有多个cpp件,可将 "${file}"替换为"*.cpp"。

        运行打印如下:

(2)gdb调试配置。直接点击或选择左侧调试,点击下拉框选择添加配置。

        直接点击:

        左侧添加,选择添加配置:

         选择C/C++:(gdb)启动:

        点击后会生成一个launch.json文件,我们需要修改如下两个地方:

program:编译生成的同名exe文件的路径,一般和task.json中的args最后一个参数一致

miDebuggerPath:gdb的安装位置路径。特别注意路径是双反斜杠\\

"program":"${fileDirname}\\${fileBasenameNoExtension}.exe",
"miDebuggerPath": "C:\\msys64\\ucrt64\\bin\\gdb.exe",

   

        点击左侧gdb(启动)按钮即可开始调试:

        以下是 VS Code 中代码调试面板功能的解释:

继续(Continue):继续执行程序,直到遇到下一个断点或程序结束。
逐过程(Step Over):逐行执行当前行,如果当前行是函数调用,则进入该函数并执行完毕。
单步调试(Step Into):逐行执行当前行,如果当前行是函数调用,则进入该函数并停在函数内的第一行。
单步跳出(Step Out):执行完当前函数的剩余部分,并停在当前函数被调用的下一行。
重启(Restart):重新启动程序的调试会话,即从程序的起点开始执行。
停止(Stop):停止程序的调试会话,结束调试过程并关闭程序执行。

参考链接:

(1)VS Code 配置 C/C++ 编程运行环境(保姆级教程)_visual studio code c++配置-CSDN博客

(2)ide 解决VSCode报错:preLaunchTask”C/C++: gcc.exe 生成活动文件”已终止,退出代码为 -1。 - 金钥匙

;