意外とデバッガーの使い方を説明してる記事がネットに少ない気がしたので。
Rails3まではpry-debuggerというgemが有名でしたが、このgemは構造上Rail4では動かないため、Rails4ではpry-byebugというgemを使います。
インストール
インストールはGemfileに以下のように記載して、bundle install
。
Gemfile
group :development do
# 高機能コンソール
gem 'pry-rails'
# デバッガー
gem 'pry-byebug'
gem 'pry-stack_explorer'
# pryの入出力に色付け
gem 'pry-coolline'
gem 'awesome_print'
# PryでのSQLの結果を綺麗に表示
gem 'hirb'
gem 'hirb-unicode'
end
使い方
使い方は簡単です。ソースコード上のブレイクポイントにしたい箇所に、以下のキーワードを記入します。
(書くのがめんどくさい人には、もっと短く書くためのpry-aliasというgemもあります)
binding.pry
その上で、rails consoleを開いて目的のメソッドを実行すると、以下の画像のようにブレイクしてくれます。
あくまでconsole上での話なので、画像の下の方でやっているようにputs
などで好きな値を確認できますし、Model.findでDBの中を確認も出来るので、単体レベルのデバッグはこれだけでOKだと思います。
ちなみに、処理を先に進めるためには以下のコマンドを入力すればOKです。簡単。
コマンド | 用途 |
---|---|
next | 次の行へ(Next) |
step | 中の処理を追う(Step) |
continue | 処理を続行(continue) |