比嘉さんからciteされたみたいなので、取り急ぎ新しい情報を吐き出しておこうと思います。

そろろろRailsについて本音を書いてみるか

後、デバッグの環境は、Javaに比べて貧弱だと思う。Railsでデバッグをする７つの方法を見てほしい。IDEでソースにブレークポイントを設定(ソースコードを書き換えるのではなく)して、ステップイン、ステップオーバー、メモリの状態を見たりなんてのに慣れているJavaから比べると、すっごく大変に見える。

喜ばしいことに、Rails 2.0ではruby-debug を使ったdebuggerが正式に採用されました。 これの使い方は非常に簡単です。

まずは、以下のようにブレークポイントをコード中に書き込みます。

1 def some_metho d 2 debugger 3 end

続いて、Webサーバをデバッグモードで実行します。

1 % ./script/s erver -u

これだけです。あとは、実際にブレークポイントを仕掛けた 場所が実行されるようにすれば、gdbライクなruby-debug の セッションが開始されます。 ruby-debug は、gdbと同じように、ステップ実行、ステップオーバー等の逐次実行を行うインターフェイスがあるので、 コードの動作を確認しながらデバッグを行うことができます。

gdbになれていない人には、 irb コマンドを実行することで、 その場でirbを立ち上げることができます。これは非常に便利ですね。

参考までに、debuggerから実行できるコマンドのリストを 載せておきます。

1 backtrace break catch cont delete display down eval exit finish frame help irb list method next p pp quit reload restart save script set step thread trace undisplay up var where

Have a good debugging life!

See Also

更新履歴