RubyMineでpowで起動したアプリケーションのプロセスにアタッチしてデバッグする手順
手順まとめ
- アプリを作成する
- powで起動する
- gemをインストールする
- 設定ファイルを作成する
- RubyMineを設定する
- デバッグする
時間がない人のため
サンプルのアプリ雛形と必要な変更点はこちらから
アプリを作成する
rails new ...
powで起動する
powderを使ってアプリを登録し、起動する
powder link
powder open
gemをインストールする
Gemfileに以下を追記して、bundle install
group :development, :test do
gem 'ruby-debug-ide'
gem 'debase'
end
設定ファイルを記載する
プロジェクトルートに.powenv
ファイルを作成
export RUBY_DEBUG_PORT=8090
export POW_WORKERS=1
ポート番号はお好みで
次に、config/initializers/remote_debugger.rb
ファイルを作成
if ENV['RUBY_DEBUG_PORT']
require 'ruby-debug-ide'
Debugger.start_server nil, ENV['RUBY_DEBUG_PORT'].to_i
end
RubyMineを設定する
ツールバーからRun → Edit Configurationsを開く

表示されたウィンドウの左上の+ボタンからRuby remote debugをクリック
以下の設定を記述してApplyボタンをクリック
項目 | 指定する値 |
---|---|
Name | 好きな名前 |
Remote port |
.powenv に指定したポート番号 |
Remote root folder | アプリケーションのルートパス |
デバッグする
事前にbundle install
を完了させておき、powを再起動する
powder restart
powder open
powは一定時間アクセスがないと自動でプロセスが落ちる為、必ずデバッグ前にpowder open
でアプリを立ち上げる必要がある。
デバッグしたい場所の行番号の横をクリックし、デバッグポイントをおく
ツールバーのRun → Debugをクリックする

先ほど作成したデバッグ設定のNameで指定したやつをクリックする

クリックするとRubyMineの下部にデバッグコンソールが表示される。この状態でデバッグポインタをおいたページにアクセスするとデバッグができる。