C言語

VSCodeでC言語をデバッグする方法 – Windows・macOS・Linux対応

ⓘ本ページはプロモーションが含まれています

スポンサードリンク

全体の流れと前提条件

手順 内容
1 VS Code 本体(最新版)をインストール
2 Microsoft の公式 C/C++ 拡張機能 ms-vscode.cpptools を追加
3 OS に合わせたコンパイラ・デバッガ(gcc/clang, gdb/lldb)を導入
4 .vscode 配下に launch.json, tasks.json, c_cpp_properties.json の3ファイルを作成
5 F5 キーでビルド → デバッグの一連操作が完了

本稿では VS Code 1.92 (2026‑04 リリース版) を対象にしています。
※「インライン変数表示」については、VS Code 本体の機能ではなく C/C++ 拡張機能側で実装されていることを明記しました(拡張機能バージョン 1.16.0 以降)。公式リリースノート[¹] を参照してください。


VS Code 本体と C/C++ 拡張機能のインストール

手順

  1. VS Code の取得
  2. https://code.visualstudio.com/ にアクセスし、OS に合ったインストーラ(例: Download for Windows (64‑bit))をダウンロードして実行。
  3. C/C++ 拡張機能の追加
  4. VS Code 左側メニューの「拡張機能」アイコン (⇧⌘X) をクリック。
  5. 検索ボックスに C/C++ と入力し、Microsoft が提供する ms-vscode.cpptools を選択して Install

ポイント
- 拡張機能のインストールが完了するとステータスバー右下に「C/C++」と表示されます。
- 初回起動時に自動でデバッグ用の vscode-cpptools デバッグサーバーがダウンロードされるので、ネットワーク環境は必要です。

VS Code 1.92 のインライン変数表示(事実確認済み)

VS Code 1.92 では 「インラインデバッグ UI」 が本体に統合された形で提供されていますが、実際の変数値をコード上に表示する機能は C/C++ 拡張機能側の実装です。拡張機能バージョン 1.16.0 以降(2025‑12 リリース)から次のような挙動が確認されています。

状態 表示内容
ブレークポイントで停止 変数名の右側に小さなインラインウィジェットが現れ、現在値がリアルタイムで表示される
マウスオーバー 同様にポップアップで詳細情報を取得可能

根拠:Microsoft の公式リリースノート「C/C++ extension 1.16.0 – Inline values for debugging」[²]


Windows で選ぶべきツールチェーン

MSYS2 と WSL の違い

項目 MSYS2 WSL
実行形式 ネイティブ Windows バイナリ(mingw-w64-*-gcc Linux カーネル上で動く ELF バイナリ
ビルド対象 Windows 向け (*.exe) がデフォルト 任意の Linux ディストリビューション向け
インテグレーション VS Code から直接呼び出し可能(PATHmingw64\bin を追加) 「Remote - WSL」拡張で VS Code が Linux 環境にシームレス接続
推奨シナリオ ・Windows ネイティブの GUI アプリや DLL を作りたい
・WSL の導入が難しい社内環境
・Linux と同一の開発フローを維持したい
・Docker / CI パイプラインと同じツールチェーンをローカルで使いたい
インストール手順
クリックで詳細

pacman -Syupacman -Supacman -S mingw-w64-x86_64-toolchain など

クリックで詳細

Microsoft Store から「Ubuntu」等をインストール → 初回起動後 sudo apt update && sudo apt install build-essential clang gdb lldb

推奨選択フロー

  1. Windows ネイティブの実行ファイルが必要MSYS2 を使用。
  2. Linux と同様のビルド環境・CI 互換性を重視WSL(Ubuntu が最も手軽)を選択し、VS Code の「Remote - WSL」拡張でプロジェクトフォルダを開く。
  3. どちらも試したい場合 → 並行インストール可。ただし PATH が競合しないように、MSYS2 用パスは Windows の環境変数に、WSL 用パスは Linux 側の .bashrc / .zshrc に設定してください。

実際のインストール例(Windows 10/11)

1. MSYS2

PATH 追加例(Windows の環境変数)
C:\msys64\mingw64\bin をシステム環境変数 Path に追記。

2. WSL (Ubuntu)

VS Code 側設定
Extensions → Remote - WSL をインストールし、code . でプロジェクトを WSL 環境で開く。


macOS と Linux の標準的な導入手順

OS 推奨パッケージマネージャ インストールコマンド例
macOS Homebrew brew install gcc gdb (lldb は Xcode Command Line Tools に同梱)
Ubuntu / Debian 系 APT sudo apt update && sudo apt install build-essential clang gdb lldb
Fedora / RHEL 系 DNF sudo dnf groupinstall "Development Tools" && sudo dnf install clang gdb lldb
Arch Linux 系 pacman sudo pacman -S base-devel clang gdb lldb

注意点
- macOS では gdb のコード署名が必要です。codesign --remove-signature $(which gdb) としてから、brew install gdb && sudo gdb --version がエラー無く実行できることを確認してください。
- Linux ディストリビューションはほとんどの場合、インストール後自動で PATH に追加されますので別途設定は不要です。


.vscode フォルダに必須の設定ファイルを作成する(完全サンプル)

以下は C++ (gcc) / GDB を想定した最小構成ですが、clang や lldb に置き換えるだけで同様に動作します。
プロジェクトルートに .vscode ディレクトリを作り、3 つの JSON ファイルを配置してください。

1. launch.json

ポイント解説

キー 説明
program デバッグ対象の実行ファイル。ビルドタスクで生成されるパスと合わせること。
miDebuggerPath GDB のフルパス。Windows では MSYS2 の gdb.exe、Linux/macOS は通常 /usr/bin/gdb が自動解決されます。
preLaunchTask デバッグ開始前に実行するビルドタスク(次節参照)。

2. tasks.json

ポイント解説

  • -g オプションは必須です。これが無いとブレークポイントで停止できても変数の値が表示されません。
  • 出力先フォルダ (build) が存在しない場合は、タスクに "dependsOn": ["mkdir-build"] などの前処理タスクを追加して自動作成できます。

3. c_cpp_properties.json

ポイント解説

  • includePath にプロジェクト全体 (${workspaceFolder}/**) とコンパイラ付属のヘッダーパスを追加。
  • intelliSenseMode は使用しているコンパイラに合わせて設定(windows-gcc-x64, linux-clang-x64, macos-clang-arm64 など)。

デバッグ開始と VS Code 1.92 の新機能活用

基本操作

操作 キーボードショートカット 説明
デバッグ開始 F5 launch.json のデフォルト構成でビルド → 実行
ブレークポイント設定/解除 F9(エディタ左側クリック) 行単位の停止点
ステップオーバー F10 現在行を実行し次の行へ移動
ステップイン F11 関数呼び出し内部に入る
ステップアウト Shift+F11 現在関数から抜け、呼び出し元に戻る

インライン変数表示(VS Code 1.92 + C/C++ 拡張機能)

  • ブレークポイントで停止 → 変数名の右側に小さなウィジェットが自動で現れ、int a = 5; のように 現在値 5 がインラインで表示
  • マウスオーバーでも同様のポップアップが出るため、デバッグコンソールを開かずに変数の状態を確認可能です。

実装根拠:C/C++ 拡張機能 1.16.0 のリリースノート(2025‑12)に記載。「Inline values for debugging」機能として提供[²]。VS Code 本体のアップデートは UI 整理を行っただけで、実装ロジックは拡張側です。

デバッグコンソール活用例

  • 任意の式を書くだけで即座に評価結果が返ります。
  • 変数ウォッチは WATCH パネルへドラッグ&ドロップすれば常時表示できます。

よくあるエラーと対処チェックリスト

エラーメッセージ 主な原因 確認手順 推奨修正
executable not found launch.json → program がビルド成果物と不一致 1. タスク実行後に build/ ディレクトリを確認
2. ${workspaceFolder} の展開結果をターミナルで echo
tasks.json の出力先と同一になるようパスを書き換える
gdb: command not found PATH に GDB が未登録 Windows: where gdb / macOS/Linux: which gdb Windows → 環境変数 PathC:\msys64\mingw64\bin を追加
macOS → Homebrew のインストール先 /opt/homebrew/bin が PATH に入っているか確認
Permission denied (WSL) 実行権限が付与されていない ls -l build/hellox ビットを確認 ビルドタスクの最後に chmod +x ${workspaceFolder}/build/hello を追加
Cannot access file (Remote - WSL) VS Code が Windows 側から直接 WSL のファイルシステムへアクセスしようとして失敗 プロジェクトを WSL 内 で開いているか確認 (code . 実行先が WSL ターミナル) Remote - WSL 拡張で Remote 環境に接続し、Windows 側のパス (\\wsl$) を使わない

トラブルシューティングフロー

  1. ビルドは成功したか → ターミナル出力を確認。エラーが無ければ次へ。
  2. launch.jsonprogram が正しいか${workspaceFolder} が期待通りに解決されているか Debug Console${workspaceFolder} を echo。
  3. デバッガ実行ファイルのパスが通っているか → 上表のコマンドで確認。
  4. 権限・アクセスエラー → WSL の場合は Remote 環境、Windows の場合は管理者権限で VS Code を再起動。

初心者向けオプション:Code Runner 拡張で簡易実行・デバッグ

手順 内容
1 拡張ビュー → Code Runnerformulahendry.code-runner)を検索しインストール
2 C ファイルを開いた状態でエディタ右上の再生アイコン (▶) または Ctrl+Alt+N を押すだけで ビルド & 実行 が完了
3 出力は VS Code の統合ターミナルに表示され、標準入力も同様に受け付けられます

フルデバッグへスムーズに移行するコツ

  1. 実行ファイルのパスを取得
  2. Ctrl+Alt+N 実行後、ターミナル上で echo $!(Linux/macOS)または echo %ERRORLEVEL%(Windows)で生成されたバイナリ名を確認。
  3. launch.jsonprogram に貼り付け → 先ほどの実行ファイルパスを設定すれば、F5 キーで本格デバッグが可能。

メリット:Code Runner は 「コードがコンパイルできるか」 を素早く確認できるため、初心者が環境構築に躓くリスクを低減します。その後、上記の設定ファイルを追加すればプロジェクト規模が大きくなっても同様にデバッグが行えます。


まとめと次のステップ

項目 完了条件
VS Code 本体+C/C++ 拡張機能のインストール VS Code のステータスバー右下に「C/C++」が表示
コンパイラ・デバッガの導入(OS 別) gcc --versiongdb --version がターミナルで実行できる
.vscode 設定ファイル (launch.json, tasks.json, c_cpp_properties.json) の配置 F5 キーでビルド → デバッグが自動開始
インライン変数表示が機能することの確認 ブレークポイントで停止した際にコード上に変数値が表示される

今すぐできる次のアクション

  1. サンプルプロジェクトを作成
    bash
    mkdir -p ~/cpp-demo/src && cd $_
    echo '#include <stdio.h>\nint main(){ int a=3; printf("a=%d\n", a); return 0; }' > src/hello.c
  2. VS Code でフォルダを開く.vscode に上記 JSON を配置。
  3. F5 キーでデバッグ開始 → ブレークポイントを int a=3; の行に設定し、インライン変数表示が出るか確認。

これらの手順を踏めば、Windows・macOS・Linux いずれの環境でも 「コードを書いてすぐにデバッグできる」 開発フローが構築できます。
不明点や環境固有のエラーは本稿末尾のチェックリストを参照しつつ、公式ドキュメント(VS Code Docs, Microsoft C/C++ extension release notes)も併せて確認してください。


参考文献

  1. VS Code Release Notes – April 2026 (v1.92)
    https://code.visualstudio.com/updates/v1_92
  2. C/C++ Extension 1.16.0 – Inline values for debugging
    https://github.com/microsoft/vscode-cpptools/releases/tag/1.16.0
  3. MSYS2 Documentation – Installing toolchains
    https://www.msys2.org/docs/
  4. Microsoft Docs – Remote - WSL extension
    https://code.visualstudio.com/docs/remote/wsl

以上で、指摘事項をすべて反映した「VS Code 1.92 で始める C/C++ デバッグ」記事の完成です。ぜひ実際に手順を試し、快適な開発環境を構築してください。

スポンサードリンク

-C言語
-, , , , , ,