QA@IT

Ruby on Railsのデバッグ方法。何かいい方法ありませんか?

4294 PV

Railsのデバッグはどうしていますか?
私はruby-debug系のdebuggerというgemを使っています。

コード中にdebuggerと書くとブレークポイントになります。
ブレークポイントを通るような操作をおこなうとrails serverしているコンソールが止まるのであとはそこで変数を見たりステップ実行したり、他のブレークポイントを置いたりしています。

ですが、とても非効率な気がしています。
Railsのデバッグについて少し調べてみたんですが、私と同じような方法を使っていたりログ出力しているって人が多かったように思いました。

すごく使い勝手がよかったり、グラフィカルに扱えるような方法はないでしょうか?

  • 追記:Ruby2.0.0、Rails4で使えることが望ましいです -

回答

group :development do
  gem 'better_errors'
  gem 'binding_of_caller'
  gem 'letter_opener'
  gem 'mail_view'
  gem 'pry-rails'
  gem 'quiet_assets'
  gem 'sextant'
end

あたりが鉄板ですかね。ブレイクポイント+ステップ実行はpryを使えば、直接リファレンスへのジャンプもできます。

http://railscasts.com/episodes/280-pry-with-rails

あとzeusを使えばサーバの起動、コンソールの起動、コマンドやrakeの実行、テストの実行など軒並み速くなるので生産性あがります。Gemfileに指定する必要がなく、依存性が発生しないのも良いです。

https://github.com/burke/zeus

編集 履歴 (1)
  • 前回の質問に続いてありがとうございます。すべて試してみる価値がありそうですね。 -

better_errors gemはどうでしょう?

編集 履歴 (0)
  • 素晴らしい回答ありがとうございます!コンソールを使えるというのがGoodです。

    次々にブレークポイントを置いたりステップ実行したりはできないようですね。そういうのはIDE向きなのかもしれませんが。
    -

身も蓋もないかも知れませんがRubyMineというIDEを使うと、グラフィカルにブレークポイントを置くなどのニーズが満たせると思います。

http://www.jetbrains.com/ruby/

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。