VS Code 디버깅
이 문서에서는 Visual Studio Code (VS Code)에서 GitLab Development Kit (GDK)을 사용하여 Rails 디버깅을 설정하는 방법에 대해 설명합니다.
설정
아래 예제에는 rails-web
및 rails-background-jobs
에 대한 런치 구성이 포함되어 있습니다.
-
gitlab
폴더 내에서gem install debug
명령을 실행하여debug
젬을 설치합니다. -
VS Code Ruby
rdbg
Debugger 익스텐션을 설치하여 VS Code에rdbg
디버거 유형을 지원하도록 확장합니다. -
경우에 따라 GitLab 및 해당 Ruby Rails/Sidekiq 프로세스를 자동으로 중지하고 시작하려면
.vscode/tasks.json
파일 아래 구성을 추가할 수 있습니다:{ "version": "2.0.0", "tasks": [ { "label": "start rdbg for rails-web", "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\\.\\.\\.)$" } } }, { "label": "start rdbg for rails-background-jobs", "type": "shell", "command": "gdk stop rails-background-jobs && rdbg --open -c bundle exec sidekiq", "isBackground": true, "problemMatcher": { "owner": "sidekiq", "pattern": { "regexp": "^(DEBUGGER: wait for debugger connection\\.\\.\\.)$" }, "background": { "activeOnStart": false, "beginsPattern": "^(ok: down:).*$", "endsPattern": "^(DEBUGGER: wait for debugger connection\\.\\.\\.)$" } } } ] }
-
다음 구성을
.vscode/launch.json
파일에 추가합니다:{ "version": "0.2.0", "configurations": [ { "type": "rdbg", "name": "Attach rails-web with rdbg", "request": "attach", // GitLab을 VS Code를 통해 중지하고 시작하기를 원치 않는 경우 다음 "preLaunchTask"를 제거합니다. "preLaunchTask": "start rdbg for rails-web" }, { "type": "rdbg", "name": "Attach rails-background-jobs with rdbg", "request": "attach", // GitLab을 VS Code를 통해 중지하고 시작하기를 원치 않는 경우 다음 "preLaunchTask"를 제거합니다. "preLaunchTask": "start rdbg for rails-background-jobs" } ] }
경고:
VS Code Ruby 익스텐션은 올바른 Ruby 설치 및 적절한 rdbg
명령을 찾는 데 문제가 발생할 수 있습니다. 이 경우 위의 런치 구성에 "rdbgPath": "/home/user/.asdf/shims/
(asdf의 경우)를 추가하세요.
디버깅
전제 조건
- 작동 중인 GDK 인스턴스가 있어야 합니다.
디버깅을 시작하려면 다음 중 하나를 수행합니다:
- F5를 누릅니다.
-
Debug: Start Debugging
명령을 실행합니다. - Run and Debug view를 열고, 런치 프로필 중 하나를 선택한 후 실행 ()을 선택합니다.