LoginSignup
28
24

More than 5 years have passed since last update.

PowやPuma-devで動いているRailsアプリにRubyMineからアタッチしてデバッグ実行する

Last updated at Posted at 2016-11-21

はじめに

RubyMine 2016.3から、ローカルで動いているRubyプロセスにアタッチしてデバッグ実行できる機能が追加されました。

RubyMine 2016.3 Release Candidate: Attach to Local Process with Debugger | RubyMine Blog

これにより、PowやPuma-devで動いているRailsアプリに対してもRubyMineからアタッチしてデバッグ実行することができます。
この記事ではそのデバッグ実行の手順を説明します。

PowやPuma-devって何?

rails serverでRailsを起動しなくても、http://your-app-name.devみたいなURLでRailsアプリを実行できる便利ツールです。

ちなみに今回はPowを使いましたが、Rails 5のActionCableを使うようなアプリではPuma-devを使うのがいいみたいです。

Puma-devでは試していませんが、おそらく同じような手順でデバッグ実行できるんじゃないかと思います。
Puma-devでも同じように使えることを確認しました!(2016.12.12追記)

百聞は一見にしかず:動画で確認する

こんな感じでデバッグ実行できます!:laughing:

Powで動いているRailsアプリにRubyMine 2016.3からアタッチしてデバッグ実行する動画を撮ってみた。https://t.co/D1EgVN3tPy pic.twitter.com/yVKb1K1YES

— Junichi Ito (伊藤淳一) (@jnchito) November 21, 2016

デバッグ実行の手順

デバッグ実行の手順は以下のとおりです。

  1. Powで動くRailsアプリを起動する(Powのプロセスを立ち上げる)
  2. RubyMine上でデバッグしたいコードにブレークポイントを付ける
  3. Run > Attach to Local Process でPowのプロセスを選択する
    • 場合によってはいろいろリストアップされますが、"/.../Pow/.../アプリのディレクトリ/.../nack.xxx.sock"みたいなのがPowのプロセスです。Screen Shot 2016-11-22 at 07.48.30.png
  4. デバッガが起動するので、プログレスバーが動いている間にRailsアプリを操作してブレークポイントを付けたコードを実行する
    • プログレスバーが最後まで到達してしまうと、エラーが出てアタッチできない場合があります。
  5. ブレークポイントで止まったら(うまくアタッチできたら)、普段通りRubyMineでデバッグ実行する
    • 1回で止まらない場合、画面をリロードするなどして何度か目的のコードを動かすようにしてみてください。

最初はアタッチするまでのクセをつかむのに時間がかかるかもしれませんが、コツをつかめば簡単です!

まとめ

これまではPowやPuma-devで実行中のRailsアプリをRubyMineでデバッグするのはちょっと面倒でしたが、これで思い立ったときにすぐデバッグ実行できそうです。

RubyMineは有料ではあるものの、かなりハイペースで魅力的なバージョンアップを繰り返してくれるので、お布施のしがいがある開発ツールだと思っています。
まだ使っていない人は30日間の無料トライアルもできるので、ぜひ試してみてください!

Ruby on Rails IDE :: JetBrains RubyMine

あわせて読みたい

RubyMineについて詳しく知りたい方はこちらのアドベントカレンダーをどうぞ。

RubyMine Advent Calendar 2014 - Qiita

28
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
24