Ruby on Railsでデバッグを行うには
Ruby on Railsでデバッグを行う方法の1つにruby-debugを使用する方法があります。ruby-debugは、Ruby on Railsでも使えるデバッガであり、gemコマンドを使ってインストールを行うことができます。
$ sudo gem install ruby-debug
ソースコードにブレークポイントを設定するには、config/environments/development.rbにおいて
require 'ruby-debug'
という記述を追加してライブラリを読み込んでおき、任意の場所に
debugger
と記述するだけです。MongrelあるいはWEBrickでアプリケーションを実行している際に、ブレークポイントを設定している箇所で処理が中断されるので、後はruby-debugで用意されているコマンドを使ってデバッグを進めます。
ruby-debugで用意されているコマンドで主に利用するものは下記の通りです。下記以外のコマンドについてはヘルプで確認できます。
help(h):ヘルプの表示
list(l):ソースコードの表示
backtrace(bt):スタックフレームの表示
next(n):ステップオーバー
step(s):ステップイン
finish(fin):ステップアウト
break(b):ブレークポイントの設定
continue(c):次のブレークポイントまで実行
p:引数で指定した変数の値を表示
var local:ローカル変数の一覧と各ローカル変数の値を表示
set autolist:コマンド実行後に自動的にソースコードを表示する設定に
(2010/02/13追記:backtraceコマンドに関する記述を追加しました。)