C++をVS Codeでデバッグする環境を構築する

プログラミング全般 未分類

概要

本記事では、VS Codeを使用して、C++プログラムのビルドや実行、デバッグする方法について記載します。

本記事で使用する環境は以下の通りです。

環境

  • Ubuntu 22.04 LTS
  • VS Code
  • CMake
  • g++
  • gdb

環境構築

C++をコンパイルするためには、g++が必要です。以下のコマンドでインストールを行います。

このコマンドは、g++のほかにgccやmakeなど、開発に必要なツールを含むbuild-essentialパッケージをインストールします。

sudo apt update
sudo apt install build-essential -y

VS Codeには、C++のコーディングを支援するための拡張機能があります。VS Codeを開き、「拡張機能」ビューをクリックし、「C++」で検索して、「C/C++」拡張機能(Microsoftが提供)をインストールします。

C++のデバッグを行うために、GDBデバッガをインストールします。

sudo apt update
sudo apt install gdb -y

CMakeのインストールを行います。

sudo apt update
sudo apt install cmake -y

VS Codeの拡張機能ビューを開き、CMake Toolsを検索してインストールします。この拡張機能は、CMakeのビルドとデバッグをVS Code内で簡単に行えるようにするものです。

デバッグ方法

サンプルプログラムを例にデバッグする方法を記載します。

プロジェクトディレクトリを作成します。

mkdir MyCMakeProject
cd MyCMakeProject

includeおよびsrcフォルダに以下のファイルを作成します。

mkdir src include

include, srcフォルダに以下のファイルを作成します。

include/greet.h

#ifndef GREET_H
#define GREET_H

#include 

void greet(const std::string& name);

#endif // GREET_H

src/greet.cpp

#include "greet.h"
#include 

void greet(const std::string& name) {
    std::cout << "Hello, " << name << "!" << std::endl;
}

src/main.cpp

#include "greet.h"

int main() {
    greet("World");
    return 0;
}

プロジェクトのルートディレクトリにCMakeLists.txtファイルを作成します。このファイルはCMakeの設定ファイルで、プロジェクトのビルド方法を記述します。

cmake_minimum_required(VERSION 3.10)
project(MyCMakeProject VERSION 1.0 LANGUAGES CXX)
include_directories(include)
add_executable(MyExecutable src/main.cpp src/greet.cpp)

ビルドディレクトリを作成し、CMakeを実行してビルドシステムを生成します。

mkdir build
cd build
cmake ..
make

MyExecutableが生成されるので、実行します。Hello, World!と表示されれば成功です。

 ./MyExecutable

続いて、デバッグするには以下を行います。

メニューから「実行とデバッグ」を開き、「launch.jsonファイルを作成する」を選択します。

launch.jsonが開き、構成の追加を押下します。
C/C++(gdb)起動を選択します。
設定ができるので、”program”を以下の設定にします。

"program": "${workspaceFolder}/build/MyExecutable",

main.cppでブレークポイント設定し、F5キーなどで実行するとブレークポイントで止めたり、ステップ実行(F10)することができることが確認できれば成功です。

コメント