Rails Wiki 最高 めっちゃわかりやすい
いままでロクなデバッグをしてこなかったので、再勉強してまとめます。
・Log
1. development環境下では、log/development.log に書き出す
-> アクションの一覧が見れる
2. モデルの内に ActiveRecord::Base.logger = Logger.new("debug.log")を書く
-> SQLのログが見れる。
デバッグ
1.オブジェクトのダンプ (Railsアジャイル本 P204)
debug ヘルパーメソッドで HTMLにダンプする
%= debug(@order) %
2.breakpoint(Railsアジャイル本 P204)
rails/app> ruby script/breakpointer
アプリのコード内で実行を停止したい位置に breakpoint()を書く。
ブレークポイントに達するとirbセッションが起動する。
そこから実行中のWebアプリケーションと対話できます
HowtoDebugWithBreakpoint
ここにかいてるけど、
ブレークポイントを抜けて、プログラムの実行を再開するには、CTRL-D (Unix)か、 CTRL-Z (Windows)か、 exit とタイプ exit! とタイプすればブレークポイントから抜け、プログラムも終了する
その他、確認した方がいい面白い機能は以下: local_variables,instance_variables, caller, methods
変数の値を確認するにはただその名前をタイプするだけでいい
ブレークポイントIRBシェルの中では通常のRubyコードは何でも打ち込んで構わない事に注意。実行中にデプロイされているコードを直接修正してしまうことも可能!
・Log
1. development環境下では、log/development.log に書き出す
-> アクションの一覧が見れる
2. モデルの内に ActiveRecord::Base.logger = Logger.new("debug.log")を書く
-> SQLのログが見れる。
デバッグ
1.オブジェクトのダンプ (Railsアジャイル本 P204)
debug ヘルパーメソッドで HTMLにダンプする
%= debug(@order) %
2.breakpoint(Railsアジャイル本 P204)
rails/app> ruby script/breakpointer
アプリのコード内で実行を停止したい位置に breakpoint()を書く。
ブレークポイントに達するとirbセッションが起動する。
そこから実行中のWebアプリケーションと対話できます
HowtoDebugWithBreakpoint
ここにかいてるけど、
ブレークポイントを抜けて、プログラムの実行を再開するには、CTRL-D (Unix)か、 CTRL-Z (Windows)か、 exit とタイプ exit! とタイプすればブレークポイントから抜け、プログラムも終了する
その他、確認した方がいい面白い機能は以下: local_variables,instance_variables, caller, methods
変数の値を確認するにはただその名前をタイプするだけでいい
ブレークポイントIRBシェルの中では通常のRubyコードは何でも打ち込んで構わない事に注意。実行中にデプロイされているコードを直接修正してしまうことも可能!