Rubyのデバッガの使い方

デバッガの起動

ruby -r debug <スクリプト>

現在の実行行の周辺のコードを表示

(rdb:x) l[ist] <行番号>

ステップ実行

(rdb:x) s[tep]

ブレークポイントの設定

(rdb:x) b[reak] <行番号>

クラス名やメソッド名で設定することもできるらしい。*1

ブレークポイントあるいは最後まで実行

例外は発生した場合も、そこで一時停止する。

(rdb:x) c[ont]

現在のスコープで参照可能な変数を列挙

ローカル変数

(rdb:x) v[ar] l[ocal]

グローバル変数

(rdb:x) v[ar] g[lobal]

変数や式の評価結果を表示

(rdb:x) p <expression>

変数名がデバッガのコマンドと被ってなければ、以下のように直接評価結果を出力させることもできる。

(rdb:x) <expression>

コールスタックを表示

frameと呼ぶらしい

(rdb:x) w[here]

以下でも良い

(rdb:x) f[rame]

コールスタック(frame)を移動

(rdb:x) up
(rdb:x) down

上記のほかにもいろんなコマンドが用意されている。
詳細は、

(rdb:x) h[elp]

*1:まだ試した事無い