【VSCode】Windows下VSCode编译调试c/c++【更新 2018.03.27】

————————– 2018.03.27 更新————————-

便携版已更新,点此获取便携版

已知BUG:中文目录无法正常调试

用于cpptools 0.15.0插件的配置文件更新

新的launch.json

// Available variables which can be used inside of strings.
// ${workspaceRoot}: the root folder of the team
// ${file}: the current opened file
// ${fileBasename}: the current opened file‘s basename
// ${fileDirname}: the current opened file‘s dirname
// ${fileExtname}: the current opened file‘s extension
// ${cwd}: the current working directory of the spawned process

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "preLaunchTask": "build",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "C:/Program Files (x86)/MinGW/bin/gdb.exe", // GDB的路径,注意替换成自己的路径
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }]
}

新的tasks.json

// Available variables which can be used inside of strings.
// ${workspaceRoot}: the root folder of the team
// ${file}: the current opened file
// ${fileBasename}: the current opened file‘s basename
// ${fileDirname}: the current opened file‘s dirname
// ${fileExtname}: the current opened file‘s extension
// ${cwd}: the current working directory of the spawned process

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared"
            },
            "windows": {
                "command": "g++",
                "args": [
                    "-ggdb",
                    "\"${file}\"",
                    "--std=c++11",
                    "-o",
                    "\"${fileDirname}\\${fileBasenameNoExtension}.exe\""
                ]
            }
        }
    ]
}

懒得自己配置或自己配置出现不明问题的朋友可以点这里:

【VSCode】Windows下VSCode便携式c/c++环境

http://blog.csdn.net/c_duoduo/article/details/52083494

下载解压即可食用。

————————– 2017.06.10 更新 (已过时)————————-

便携版已更新,点此获取便携版

用于cpptools插件的配置文件更新

更新的launch.json

// Available variables which can be used inside of strings.
// ${workspaceRoot}: the root folder of the team
// ${file}: the current opened file
// ${fileBasename}: the current opened file‘s basename
// ${fileDirname}: the current opened file‘s dirname
// ${fileExtname}: the current opened file‘s extension
// ${cwd}: the current working directory of the spawned process
{
    "version": "0.2.0",
    "configurations": [{
        "name": "C++ Launch (GDB)", // 配置名称,将会在启动配置的下拉菜单中显示
        "type": "cppdbg", // 配置类型,这里只能为cppdbg
        "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
        "targetArchitecture": "x86", // 生成目标架构,一般为x86或x64,可以为x86, arm, arm64, mips, x64, amd64, x86_64
        "program": "${file}.exe", // 将要进行调试的程序的路径

        "miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应

        "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
        "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
        "cwd": "${fileDirname}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
        "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
        "preLaunchTask": "g++"   // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
    }]
}

更新的tasks.json

{
    "version": "0.1.0",
    "command": "g++",
    "args": ["-g","${file}","-o","${file}.exe"],    // 编译命令参数
    "problemMatcher": {
        "owner": "cpp",
        "fileLocation": ["relative", "${workspaceRoot}"],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        }
    }
}

懒得自己配置或自己配置出现不明问题的朋友可以点这里:

【VSCode】Windows下VSCode便携式c/c++环境

http://blog.csdn.net/c_duoduo/article/details/52083494

下载解压即可食用。

————————– 以下是原文 ————————-

这篇文章为blackkitty记录在windows下使用vscode编译调试c/c++的详细过程

首先看效果

设置断点,变量监视,调用堆栈的查看

条件断点的使用:

下面是配置过程:

总体流程:

  1. 下载安装vscode
  2. 安装cpptools插件
  3. 安装编译、调试环境
  4. 修改vscode调试配置文件
  5. 完了

下载安装vscode

https://code.visualstudio.com/Download

点击下载自己喜欢的相应版本,绿色版解压即可食用

安装cpptools插件

打开vscode,按ctrl+e打开快速命令框,输入以下命令后等待

ext install cpptools

vscode在短暂的联网查找后会列出插件列表,如图:

点击箭头所指处的按钮安装插件,安装过程可能会有些慢耐心等待

安装完成后vscode会提示你重启vscode,此时重启即可

安装编译、调试环境

目前windows下调试仅支持 Cygwin 和 MinGW。

这里使用的是MinGW.

下面是MinGW的安装配置过程:

http://mingw.org/

进入官网点击右侧 Download Installer下载安装器

打开安装器点击install准备安装:

选择一个安装目录,默认为C:\MinGW这里选择的是A:\MinGW

点击Continue开始安装,安装过程需联网,若安装时提示error则需FQ安装

安装过程很快,结束后Continue按钮恢复为可用状态,点击完成安装。

打开MinGW安装管理器进行进一步配置

注意这里gdb必选,否则无法调试

选中几个需要的项右键Make for Installation进行标记,其中gcc和g++为c和c++编译器

选择完全部想要安装的项后点击左上角Installation菜单下的Apply Changes应用修改,过程需联网,中间出现error可先继续,若最后失败则需FQ更新,建议FQ

然后配置系统环境变量path,这一步为必须

在 我的电脑 上右键 属性:

然后按照下面步骤做即可,注意最后新建的项要与之前MinGW安装位置相对应

修改vscode调试配置文件

再次打开vscode,注意配置系统环境变量path后重启一下vscode

注意vscode调试需要在打开的文件夹中进行

打开文件夹后,新建test.cpp进行输入代码测试:

如图示进入调试界面选择C++:

然后会在工作目录下的生成一个launch.json的启动配置文件:

使用下面代码替换该文件:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Launch (GDB)",                 // 配置名称,将会在启动配置的下拉菜单中显示
            "type": "cppdbg",                           // 配置类型,这里只能为cppdbg
            "request": "launch",                        // 请求配置类型,可以为launch(启动)或attach(附加)
            "launchOptionType": "Local",                // 调试器启动类型,这里只能为Local
            "targetArchitecture": "x86",                // 生成目标架构,一般为x86或x64,可以为x86, arm, arm64, mips, x64, amd64, x86_64
            "program": "${file}.exe",                   // 将要进行调试的程序的路径
            "miDebuggerPath":"a:\\MinGW\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应
            "args": ["blackkitty",  "1221", "# #"],     // 程序调试时传递给程序的命令行参数,一般设为空即可
            "stopAtEntry": false,                       // 设为true时程序将暂停在程序入口处,一般设置为false
            "cwd": "${workspaceRoot}",                  // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
            "externalConsole": true,                    // 调试时是否显示控制台窗口,一般设置为true显示控制台
            "preLaunchTask": "g++"                    // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
        }
    ]
}

注意miDebuggerPath要与MinGw的路径对应

替换后保存,然后切换至test.cpp,按F5进行调试,此时会弹出一个信息框要求你配置任务运行程序,点击它~

在这里随便选一个:

然后用下面代码替换:

{
    "version": "0.1.0",
    "command": "g++",
    "args": ["-g","${file}","-o","${file}.exe"],    // 编译命令参数
    "problemMatcher": {
        "owner": "cpp",
        "fileLocation": ["relative", "${workspaceRoot}"],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        }
    }
}

保存一下,然后切换至test.cpp,再次按F5启动调试~

完了!

原文地址:https://www.cnblogs.com/jpfss/p/10330413.html

时间: 2024-10-13 15:56:43

【VSCode】Windows下VSCode编译调试c/c++【更新 2018.03.27】的相关文章

【转载】Windows下VSCode编译调试c/c++

懒得自己配置或自己配置出现不明问题的朋友可以点这里: [VSCode]Windows下VSCode便携式c/c++环境 http://blog.csdn.net/c_duoduo/article/details/52083494 下载解压即可食用. 本文转载自http://www.2cto.com/kf/201606/516207.html 原文如下: 这篇文章为blackkitty记录在windows下使用vscode编译调试c/c++的超级详细过程 首先看效果 设置断点,变量监视,调用堆栈的

windows下vscode内置的终端改为linux终端

windows下vscode内置的终端改为linux终端 1: 安装git 相信看这文章的大伙知道怎么安装git,不知道有没有注意到,windows版的git,附带了一个linux终端模拟器,在安装目录: 2: 打开配置文件 依次点:文件-> 首选项->设置,来打开VS Code的配置界面 如果你看到的是一个json文件,那么就不用做后面这步. 点击右侧的这个ICON: 3. 添加以下配置 其中有两行请改为你自己的安装路径 "editor.detectIndentation"

windows下使用eclipse调试C程序

一.环境描述 Eclipse IDE for C/C++ Developers version 4.4.0 MinGW  gcc/g++ version 4.8.1;gdb version 7.6.1 二.操作步骤 1.新建工程 2.编译源程序 3.调试设置 Run-->Debug Configurations-->Debugger,设置调试器目标 4.启动调试 三.说明 windows下Eclipse调试C程序时,会出现无法使用printf和scanf的情况:console没有输出.原因是由

Windows下VC编译OpenDDS

OpenDDS是一个OMG组织DDS标准的C++开源实现,OpenDDS同时也提供Java支持.OpenDDS依赖ACE抽象层来提供不同平台的兼容性,同时也依赖于TAO(例如TAO的IDL编译器).当前OpenDDS有ociweb ObjectComputing维护,官方网站http://www.opendds.org/.目前OpenDDS支持的平台有Windows,Linux family,Android,VxWorks等,可用的编译器包括VC,gcc,QNX gcc等. 1. OpenDDS

【FFmpeg】Windows下FFmpeg编译

转自:http://www.cnblogs.com/dwdxdy/p/3625766.html 由于FFmpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译,需要在Windows下配置一个类似Linux的编译环境.本文主要记录Windows下FFmpeg编译的过程. 1.资源准备 准备编译过程所需的软件工具和源代码. (1). MinGW-MSYS Bundle http://sourcef

图文介绍windows下实现编译ffmpeg工程的详细步骤

本文来自:http://www.cuplayer.com/player/PlayerCode/FFmpeg/2014/0706/1401.html 图文介绍windows下实现编译ffmpeg工程的详细步骤: 1.搭建 MinGW 的编译环境 下载yasm,地址:http://yasm.tortall.net/Download.html 改名为yasm.exe放到C:\WINDOWS\system32 或者 C:\MinGW\msys\1.0\bin文件夹下. 下载 mingw-get-inst

windows下rabbitmq-c编译(带openssl、无需MinGW)

因为项目原因,需要使用到rabbitmq的c客户端库.首先,参见上一篇windows下openssl编译,如果已经使用cmake编译过了,则先delete cache(File-Delete Cache),否则原来的cmake缓存都在了,将仍然会出现原来的错误. 依次点击configire.generate,可以生成vs sln.如下: 最后使用VS即可生成rabbitmq.4.dll,如下: 测试自带的例子: D:\RabbitMQ Server\rabbitmq_server-3.6.5\s

ACE在windows下的编译及配置(VS2010)

ACE在windows下的编译及配置(VS2010) 分类:             -[小西南]-              2013-08-06 16:17     2354人阅读     评论(6)     收藏     举报 目录(?)[+] 1 下载ACE 2 创建ACE的配置文件 3 编译ACE库 4 可为ACE目录设置环境变量 5 VS2010 ACE配置 6 测试操作是否成功 系统:win7 开发环境:Visual Studio 10 ACE版本:ACE-6.2.0 参考了很多师

Windows下PythonQt编译(vs2015+Qt5.11.2+PythonQt 3.2)

时间:2018年10月22日,学习任何物事都有个探索过程.欢迎留言探讨. 在Qt程序中,添加python进行混合编程,可以使用Python API,但交互起来很麻烦,不友好.网上推荐使用PythonQt框架. 强调下: PythonQt,方便Qt C++程序员,将python引入项目 PyQt PySide,给python程序员,将Qt界面引入项目 本机环境: 1.win7 64 旗舰版 2.Qt 5.11.2(MSVC 2015,32 bit) 3.Python 3.7.0 (32-bit)