概要
Railsのdebug gemについて、デバッグ時に活用できると感じた機能を紹介します。
利用方法
デバッグしたい箇所にbinding.breakを記載
※ binding.bでも可
def hoge
binding.break #処理中断
# ...
end
基本コマンド
c / continue 処理続行(ブレークポイントがあれば再度そこで停止)
n / next ステップオーバー
s / step ステップイン
業務で活用できそうなデバッグコマンド
-
do, if
特定の条件でデバッグ# 特定の例外時にデバッグ binding.break do: 'catch ActiveRecord::RecordNotFound' # 特定の条件でデバッグ binding.break if val == "hoge"
-
i
現在のスコープで有効なローカル変数、インスタンス変数を一覧で出力
-
bt n(行数)
バックトレースを表示
-
l
周辺のソースコードを表示
-
record on/step back-
record onでその記録 -
step backでrecord onで記録した処理まで1行ずつ戻ることが可能
-
まとめ
簡単ですが、以上です。
個人的に i コマンドは現在のスコープで利用できる変数がまとめてみれるので便利だと思いました。
(タイムトラベルデバッグはまだ活用する機会がない...)