Linux下配置VSCode进行C/C++语言的调试环境

在推出强大的Windows平台开发工具之后,微软又推出了一款轻量级的可跨平台的开发工具:VSCode。

如今它名气也非常大,基本上与sublime text,Emacs等主流开发工具并肩。

这篇文章中,笔者将亲自体验Linux下的VSCode的C/C++编程之旅。

配置总体分为以下几步:

1、下载安装VSCode

2、安装cpptools插件

3、安装编译调试环境

4、配置VSCode的调试配置文件

下载安装VSCode

VSCode官网下载

blob.png

大家根据自己系统下载对应安装包。

Redhat系下载rpm包,Debian系下载deb包。

笔者是debian,所以下载deb包。

下载好deb包,打开终端,进入相应目录,运行

dpkg -i packagename.deb        #packagename改为对应下载文件的名称

如果提示依赖关系错误,请断续运行如下命令修复:

sudo apt-get install -f

至此,VSCode已经安装完成。

blob.png

安装cpptools插件

在如上界面下按键(Ctrl+e)在输入框输入如下命令并回车

ext install cpptools

blob.png

点击安装,完成之后点击启用。由于笔者已经安装过了,所以截图有所不同。

至此,cpptools插件已经安装好了。

安装编译调试环境。

打开终端,输入如下命令:

sudo apt-get install gdb g++

等待安装完成。

blob.png

由图可见,笔者已经安装好了。

配置VSCode调试配置文件

接下来就是最后一步了,也是很关键的一步。

此处,需要更改3个文件内容。

首先,打开文件夹,此文件夹的所有文件都会被认为是C/C++文件。

第一个要修改的文件:c_cpp_properties.json

新建一个文件,保存为.cpp文件。

输入

#include 

后面记得加空格,鼠标指向这个语句,会出现一个小灯泡

blob.png

点击小灯泡,会出现

blob.png

点击Add include path to settings

找到对应linux项,修改为:

        {

            "name": "Linux",

            "includePath": ["/usr/include","/usr/include/c++/4.9.2"],

            "browse" : {

                "limitSymbolsToIncludedHeaders" : true,

                "databaseFilename" : ""

            }

        }

注意上面红色部分,这是C++头文件的位置,由于版本不同,路径可以不同,请自行找到目录验证!前面的为C头文件的位置。

保存,关闭。如不添加C++头文件的目录,include C++头文件的时会报错。

第二个要修改的文件:launch.json

回到CPP文件,在左侧选择调试

blob.png

点击设置,选择GDB linux,会出现如下:

blob.png

内容参照如下:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Launch (GDB)", // 配置名称,将会在启动配置的下拉菜单中显示
            "type": "cppdbg", // 配置类型,这里只能为cppdbg
            "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
            "program": "${workspaceRoot}/${fileBasenameNoExtension}.o", // 将要进行调试的程序的路径
            "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
            "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
            "cwd": "${fileDirname}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
            "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
            "MIMode": "gdb", //使用GDB调试
            "preLaunchTask": "g++"   // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
            "setupCommands": [
                {
                "description": "Enable pretty-printing for gdb",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
                }
           ]
        }
    ]
}

保存关闭。

//更新说明:生成文件名,test.cpp生成的文件由test.cpp.o改为test.o

第三个文件:tasks.json

按键(Ctrl+shift+p)找到任务:运行生成任务

blob.png

修改如下内容:

blob.png

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "command": "g++",                #编译器,自行选择g++或gcc
    "isShellCommand": true,
    "args": ["-g","${file}","-o","${fileBasenameNoExtension}.o"],            #编译时的参数
    "showOutput": "always"
}

保存关闭。

到此处,已经配置好了VSCode对C/C++的支持,可以尽情写代码了!

看效果图:

可设断点、变量监控、堆栈调用。blob.png

0 条评论
发表一条评论