VsCode:gccデバッガエラー:launch: program ” does not exist.の対処法

C言語初級
スポンサーリンク
スポンサーリンク

エラーが出る環境

Visual Studio Code + Mingw-w64(gccコンパイラ)において以下のメニューを起動したとき。

エラーメッセージ

launch: program ” does not exist.

エラーの原因

次のいずれかの原因である可能性が高い

  • launch.jsonファイルが存在しない
  • 別のlaunch.jsonを参照している
  • launch.jsonにデバッガ―情報がきちんと記述されていない

対処法

該当のC言語ソースコードフォルダ内にある隠しフォルダ .vscodelaunch.json ファイルを作成する必要がある。

VsCodeの左側ウインドウのエクスプローラーから

該当のフォルダ(C言語ソースコードのあるフォルダ) > .vscode とたどり、tasks.jsonを開く。

tasks.json の以下2項目の内容が、これから作成する launch.json ファイルに記述が必要なため、チェックしておく。

  • label 項目のラベル名
  • command 項目のgccコンパイラのパス名(パス名のみです)

.vscode フォルダに launch.jsonを新規作成します。

新規作成した launch.json ファイルに以下のように記述します。

launch.json(緑字の部分は各自の情報に置き換えてください)

{
    "version": "0.2.0",
    "configurations": [
      {
        "name": "g++.exe - Build and debug active file",
        "type": "cppdbg",
        "request": "launch",
        "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
        "args": [],
        "stopAtEntry": false,
        "cwd": "${fileDirname}",
        "environment": [],
        "externalConsole": false,
        "MIMode": "gdb",
        "miDebuggerPath": "C:\\gcc\\mingw64\\bin\\gdb.exe",
        "setupCommands": [
          {
            "description": "Enable pretty-printing for gdb",
            "text": "-enable-pretty-printing",
            "ignoreFailures": true
          }
        ],
        "preLaunchTask": "C/C++: gcc.exe アクティブなファイルのビルド"
      }
    ]
  }
miDebuggerPathパス名の後に gdb.exe を追加
preLaunchTaskラベル名をそのまま追加(tasks.jsonからコピー&ペーストが安全です)

上記で示したlaunch.jsonファイルはわたしの環境の場合ですので、miDebuggerPath項目とpreLaunchTask項目は、先ほど tasks.json でチェックした2項目の内容に置き換えてください。

デバッガ―が起動するか確認する

修正後、launch.jsonを上書きします。
適当なC言語ソースコードを開いて、 F5キー を押すか、または 実行 > デバッグの開始 を選択してください。

デバッガ―が起動し以下のような画面になればOKです。(下画面では8行目にブレイクポイントを設定しています)

補足

gcc.exeはコンパイラの実行ファイルですが、gdb.exeデバッガの実行ファイルになります。
gdb.exeは、通常gcc.exeと同じフォルダにインストールされています。

上記で示した launch.json は、以下のVisual Studio Code公式サイトのサンプルをそのまま利用しただけですので、けっこう適当です。分かる方は修正してみてください。

Get Started with C++ and Mingw-w64 in Visual Studio Code
Configuring the C++ extension in Visual Studio Code to target g++ and gdb on a Mingw-w64 installation

以上、VsCode:gccデバッガエラー:launch: program ” does not exist.の対処法でした。

コメント

  1. ぶるねい より:

    Visual Studio CodeでC言語プログラミングを始める(Windows編)のページで質問させていただいたものです.

    記載された対処法通りにlaunch.jsonを作ったところ,C言語のコードが正常に動作しました.ありがとうございました.

タイトルとURLをコピーしました