📖

vscode c++ debug機能を構築 (linux)

に公開

本記事は、こんな人に向けて書かれています。

VSCodeでプログラミングを勉強したいけど、デバッグがうまくいかない人
小さいプログラムをすぐに試したい人
※Windowsを使う場合、MinGWを導入する方法は本記事に含まれていません。ご了承ください。

構築環境

OS : Arch Linux
code : VSCode (ossではない)
※gcc、g++とlldbパッケージがインストール済み

導入した拡張機能

clangd
CodeLLDB

構築方法

launch.jsontasks.jsonという2つのファイルを.codeフォルダの中に作成し、以下のように内容を変えます。

launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "cwd": "${workspaceFolder}",
            "console": "integratedTerminal",
            "preLaunchTask": "C/C++: g++ build active file"
        }
    ]
}

tasks.json

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "C/C++: g++ build active file",
      "command": "/usr/bin/g++",
      "args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"],
      "options": {
        "cwd": "/usr/bin"
      },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "detail": "Task generated by Debugger."
    }
  ]
}

使い方

※注意:歯車⚙️は表示されません!
代わりにショートカットキーでビルド、起動、デバッグします。
(ショートカットキー例:window / Linux)
Ctrl+Shift+B:ビルド
F5:デバッグ+起動
Ctrl+F5:デバッグなしで起動

注意

1. 立ち上げるファイルは以下のところで指定します。

launch.json

"program": "${fileDirname}/${fileBasenameNoExtension}"

2. ビルドはCMakeなどを使う場合、現在のtasks.jsonは使えません。

※現在はg++を使ってビルドしています。

現在のtasks.jsonは以下のコマンドを実行します。

g++ -g file -o fileDirname/fileBaseNameNoExtension

※fileは現在閲覧(選択)しているファイルです。

3. Cもそのままビルド/デバッグできます。

参考URL

https://jumble-note.blogspot.com/2021/02/c-cvisual-studio-code.html
https://zenn.dev/ochi_shoichi/scraps/5e1a1b9a05b9a8
https://code.visualstudio.com/docs/cpp/config-linux
https://github.com/vadimcn/codelldb/blob/master/MANUAL.md#attaching-to-a-running-process

Discussion