いまさら聞けないRailsでデバッグする便利な方法(Ruby1.9.x対応版)

Railsでの開発をしているとき、ブラウザは何を使ってますか?
私はFirebugが使いたいのでFirefoxがメインでしたが、最近はGoogleChromeが多いです。
GoogleChromeにもディベロッパーツールというのがあり、ブラウザとサーバ間の通信内容や各ファイルのロードに掛かった時間などを見ることができます。
どちらの開発者向けツールでも、Javascriptのソースにブレイクポイントを設置し、その時の変数の中身を見ることなどもできます。これらのツールがないと仕事にならないくらいです。

では、サーバ側は?

ということで、Rails3でかつRuby1.9.xの場合でのデバッグ方法についてです。


では、さっそく

準備する手順

1、Gemfileに追記

gem "ruby-debug19"

2、「bundle install」を行う

3、ソースの止めたい場所に「debugger」と書く

以上で準備完了です。

実際に使ってみる

デバッグオプション付きでサーバを起動させます。

$ rails s --debug

次に、ブラウザでアクセスするなどして、デバッグしたい箇所が通るように動かします。
debuggerと書かれた場所に処理が到達すると、サーバを起動している画面が止まります。
たぶん

(rdb:4)

などと表示されていると思いますので、コマンドを入力し様子を見てみましょう

list : 周辺のソース表示
p 変数名 : 変数の中身。例えばparamsやrequestなど見ると、サーバが受け取った変数を見られます。
cont : 次のbreakpointまで実行

という感じです。
どうですか?簡単で便利です。
実は知らなかった/忘れてたという方は、こっそりお試しを。

追記

もし「開発ではpowを使っているんだけど」という人は、id:mat_akiさんが書かれている記事を参考に。
http://d.hatena.ne.jp/mat_aki/20110523/1306143197