この記事では、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」を追加します。
VSCode rdbg Ruby Debugger - Visual Studio Marketplace
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. デバッグ方法
- 任意の箇所にブレークポイントを設定
- 「実行とデバッグ」の「Debug Rails」(
.vscode/launch.jsonのnameで設定した名前)を選択
※よくわからないエラーが出る場合
→VSCodeの画面左下のrescue RuntimeErrorのチェックを外してデバッガを再起動する
【参考】