あまブログ

ドキドキ......ドキドキ2択クイ〜〜〜〜〜〜〜ズ!!

VSCodeでRailsをデバッグする【Rails + vscode-rdbg(debug.gem)】

この記事では、Ruby 3.1で標準ライブラリとなったdebug.gemを使って、VSCode上でRailsアプリのデバッグを行う方法を紹介します。

1. 設定方法

Railsアプリのデバッグを行うために必要な設定を行います。

1-1. debug.gemのインストール

Rails 7以降ではデフォルトでdebug.gemが使われるため以下の設定は不要

Gemfileに以下を記述します。

group :development, :test do
  # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
  gem "debug", platforms: %i[ mri mingw x64_mingw ]
end

bundle installを実行してdebug.gemをインストールします。

1-2. vscode-rdbgのインストール

VSCode拡張機能VSCode rdbg Ruby Debugger」を追加します。

marketplace.visualstudio.com

1-3. launch.jsonファイルの作成

VSCodeアクティビティバーから「実行とデバッグ(Run and Debug)」を選択し、「launch.jsonファイルを作成します(create a launch.json file)」を選択します。

次に、「デバッガーの選択(Select debugger)」で「Ruby(rdbg)」を選択します。

するとプロジェクトのルートフォルダに.vscode/launch.jsonが作成されます。

作成された.vscode/launch.jsonを以下のように編集してください。

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "rdbg",
      "name": "Debug Rails",
      "request": "launch",
      "cwd": "${workspaceRoot}",
      "script": "bin/rails server",
      "args": [],
      "askParameters": false,
      "useBundler": true,
    },
  ]
}

以上で設定は終了です。

2. デバッグ方法

  1. 任意の箇所にブレークポイントを設定
  2. 「実行とデバッグ」の「Debug Rails」(.vscode/launch.jsonnameで設定した名前)を選択

※よくわからないエラーが出る場合

VSCodeの画面左下のrescue RuntimeErrorのチェックを外してデバッガを再起動する


【参考】