Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
90
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

VSCodeでC++デバッグ(Windows)

概要

Visual Studio Codeを使ってVC++のデバッグ+ビルドを行う方法
CMakeの使い方等はこの記事には載せませんので注意してください。
また、記事に対するもっと良い方法等があれば是非コメントをお願い致します。

拡張機能インストール

↓の拡張機能をインストールを行ってください

C/C++

C/C++のIntelliSense、デバッグ等を行う拡張機能
まだプレビュー版なので注意
image

CMake Tools

CMake周りのコマンドを提供してくれる拡張機能
image

CMake

CMakeLists.txt用のIntelliSenseを提供してくれる拡張機能
image

CMakeインストール

CMake←のリンクから対象のCMakeのインストーラーを探してインストールを行ってください

CMakeのパスが通っていない場合はユーザー設定orワークスペース設定にパスを設定すること

settings.json
// 既定の設定を上書きするには、このファイル内に設定を挿入します
{
    // CMake のパスが通っていない場合はパスを通す
    "cmake.cmakePath": "C:/Program Files/CMake/bin/cmake.exe"
}

プロジェクト作成

下記の手順でCMakeのプロジェクト?を作る

  1. コマンドパッドから">CMake: Quick Start"を入力
    image
  2. プロジェクト名を入力してEnterキーを押す image
  3. ライブラリor実行ファイルかを選ぶ
    image

C/C++の設定ファイル作成

  1. C/C++のIntelliSense用の設定ファイルを作成
    コマンドパッドに">C/Cpp: Edit Configurations"を入力して設定ファイルを作成
    "ワークスペースルート/.vscode/c_cpp_properties.json"が作られます
    nTkObddjWH.gif

  2. デバッグ実行用の設定ファイルを作成
    デバッグタブの歯車ボタンを押す。
    「構成の選択」の欄から"C/Cpp:Edit Configurations"を選ぶ
    image

CMakeでのビルド

  1. コンフィグレーションを変更 ステータスバーの"CMake:プロジェクト名:構成名:Ready"ボタンを押す image
    対象の構成を選択する
    image
  2. ビルドボタンを押す image

デバッグ設定ファイルの編集

nTkObddjWH.gif
nTkObddjWH.gif

↑の項目で作成するとprogramのexeのパスを入力するように求められるのでexeのパスを入力します。
↓は入力例です

.vscode/launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Launch (Windows)",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "${workspaceRoot}/build/Debug/Sandbox.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceRoot}",
            "environment": []
        }
    ]
}

デバッグ

ここまで行うと、F5ボタンでデバッグ実行が行えるはずです。
以上お疲れ様でした。
image

自作コンテナなどのデバッグ

natvisファイル(ネイティブ オブジェクトのカスタム ビュー)に対応しています。

launch.jsonにnatvisファイルへのパスを追加するとデバッガが見やすくなる

.vscode/launch.json
    "cwd": "${workspaceRoot}",
    "environment": [],
    // 参照するnatvisファイルへのパス
++  "visualizerFile": "${workspaceRoot}/test.natvis"
}

debugn_atvis.gif

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
90
Help us understand the problem. What are the problem?