概要
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
コマンドは現在のスコープで利用できる変数がまとめてみれるので便利だと思いました。
(タイムトラベルデバッグはまだ活用する機会がない...)