VSCode+TDM-GCC编译环境配置

VSCode+TDM-GCC编译环境配置

前言

这是我写的第一个博客,写博客的目的是总结自己所学,方便自己或他人查阅,同时也能再次巩固自己的知识。初期我将从OJ练习题入手,后续再总结自己感兴趣的知识。

VSCode配置

VSCode是目前主流的开源编辑器,可扩展性很强,适用于多种语言,可配置单步调试功能。下面介绍VSCode的安装与简单配置。

  1. 官网中下载指定平台的VSCode。
  2. 安装必要的插件,包括C++编辑器和简体中文插件。
    VSCode必要插件
  3. 下载GCC编译器,我选择的是TDM-GCC,因为其提供的GDB版本支持python,可以使用pretty-printing。从这里下载。
  4. 安装好之后配置vscode的编译任务。首先写一个C++程序,命名为main.cpp。再从菜单栏->终端->运行任务创建一个task.json文件,下面是一个简单的任务示例。
{
    "version": "2.0.0",
    "tasks": [
      {
        "label": "g++",
        "type": "shell",
        "command": "g++ -g -std=c++11 main.cpp -o main",
        "group": {
          "kind": "build",
          "isDefault": true
        },
        "problemMatcher": "$gcc"
      }
    ]
  }
  1. 点击左侧的调试并运行活动栏,创建一个launch.json文件,用于编写调试相关的配置,下面是用于GDB调试的配置文件。
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Launch (GDB)",
            "type": "cppdbg",                         
            "request": "launch",           
            "targetArchitecture": "x86", 
            // 要进行调试的可执行文件的路径               
            "program": "${workspaceRoot}/main", 
            // gdb调试器路径,这里选择TDM-GCC安装目录下的gdb
            "miDebuggerPath":"C:/TDM-GCC-64/bin/gdb64.exe",
            "args": [],                            
            "stopAtEntry": false,                      
            "cwd": "${workspaceRoot}",             
            "externalConsole": true, 
            // 调试会话前执行的任务,这里是task.json中配置好的编译任务
            "preLaunchTask": "g++",
            // pretty-printing配置,可以直观打印出C++中的容器
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
        }
    ]
}

开始调试第一个C++项目

按F5开始调试,左侧本地变量中可以看到stack容器被直观地打印出来了。
开始调试第一个C++项目
如果不开启pretty-printing的话,查看本地变量将呈现如下形式,不直观。
关闭pretty-printing之后
TDM-GCC的GDB调试器支持python,而从MinGW官网下载的不支持,其实也可以下载GDB源码,编译出支持python的GDB(编译前如果选择支持python,那么默认将自带pretty-printing功能)。

我们可以通过如下方法查看当前版本GDB是否支持python,在命令行中输入gdb,再输入python print sys.version查看python版本。如果提示python命令找不到,那么当前版本GDB不支持python。
查看当前版本GDB是否支持python

发布了2 篇原创文章 · 获赞 6 · 访问量 165

猜你喜欢

转载自blog.csdn.net/lovepon/article/details/104118117