C言語をVScodeでデバッグする(gdb)
概要
ブレークポイントやら変数の中身が見たいのだ.
検索すると,おおよそGDBデバッガーの設定が出てくるが,どうもパッと見ただけでは,自分の環境では再現できなかった.
こちらのサイト
を見たりして,腰を据えて取り組んでみて,ようやくGDBデバッグまでできたので,設定をメモする.
結論
タスクの構成であるtasks.jsonとデバッグの設定のlaunch.jsonの設定を作業フォルダ用に編集すればOK
実行したこと
実行環境
【ホストPC】
- windows10 64bit Home
- VSCode - 1.47.2
前提
GCCとGDBのインストールはWindowsならMinGWでできる.インストール方法は各種サイト参照.手順
- 作業フォルダを用意して,デバッグしたいプログラムを置く
-
[Ctrl+Shift+P]を押して,”タスクの構成”を選択する
- tasks.jsonが生成される.初期設定ではGDBでビルドできなかったので,先のサイトを参考に内容を下記のように書き換える."label"が新たに作成したコンパイル名(g++ compile)になる."args"でコンパイルの設定コマンド.gcc -o test test.cみたいなコマンドが渡せる.今回はシンプルにするために,実行ファイル名は命名せずに,a.exeになるようにした.
- 元のファイルに戻って,[Ctrl+shift+B]を押すと,実行するビルドタスクが表示される.
- 選択するとビルドができるはず.ビルド後は,a.exeが生成されるはず.
- F5を押して,デバッグをする.すると,下記のように何でデバッグをするかが表示される.
- C++(GDB/LLDB)を選択する.すると,launch.jsonが生成される.このままでは,デバッグはできないので,作業フォルダに合わせて修正が必要.先のサイトを参考に下記のように変更する.重要なのは,"program"と"miDebuggerPath"."program"は作業フォルダにある実行ファイル名に合わせて修正する.今回であれば,${workspaceFolder}/a.exeになる."miDebuggerPath"は下の例ではもともと生成されていたが,このサイトではないようだ.MinGWがインストールされているパスに合わせる必要がある.
- 修正が終わったら,F5を押す.すると,下記のようにGDBが起動されるはず.
- これでブレークポイントをはったり,ステップ実行をしたりできる.変数の中身も見れる.
プログラム
確認に使用したプログラムはこちら.