VSコードのデバッグ

このドキュメントでは、GitLab Development Kit(GDK)を使用してVisual Studio Code (VSCode) で Rails デバッグをセットアップする方法を説明します。

セットアップ

  1. gitlab フォルダ内部でgem install debug を実行してdebug gem をインストールします。
  2. VSCode Ruby rdbg Debuggerextensionをインストールして、VSCodeにrdbg デバッガタイプのサポートを追加します。
  3. GitLabとそれに関連するRuby Railsサーバーを自動的に停止・起動したい場合は、.vscode/tasks.json ファイルの下にある設定に以下のVSCodeタスクを追加してください:

    {
      "version": "2.0.0",
      "tasks": [
          {
            "label": "start rdbg",
            "type": "shell",
            "command": "gdk stop rails-web && GITLAB_RAILS_RACK_TIMEOUT_ENABLE_LOGGING=false PUMA_SINGLE_MODE=true rdbg --open -c bin/rails server",
            "isBackground": true,
            "problemMatcher": {
              "owner": "rails",
              "pattern": {
                "regexp": "^.*$",
              },
              "background": {
                "activeOnStart": false,
                "beginsPattern": "^(ok: down:).*$",
                "endsPattern": "^(DEBUGGER: wait for debugger connection\\.\\.\\.)$"
              }
            }
          }
      ]
    }
    
  4. .vscode/launch.json ファイルに以下の設定を追加します:

    {
        "version": "0.2.0",
        "configurations": [
          {
            "type": "rdbg",
            "name": "Attach with rdbg",
            "request": "attach",
       
            // remove the following "preLaunchTask" if you do not wish to stop and start
            // GitLab via VS Code but manually on a separate terminal.
            "preLaunchTask": "start rdbg"
          }
        ]
    }
    
caution
VSCode Rubyエクステンションは正しいRubyインストールと適切なrdbg コマンドを見つけるのにイシューがあるかもしれません。この場合、"rdbgPath": "/home/user/.asdf/shims/ (asdfの場合)を上記の起動設定に追加します。

デバッグ

前提条件

  • GDKインスタンスが動作している必要があります。

デバッグを開始するには、以下のいずれかを実行してください:

  • F5を押します。
  • Debug: Start Debugging コマンドを実行します。