Rubyのデバッガーを使う
-r debug
をつけてRubyのファイルを実行するとデバッグモードでファイルを起動することが可能です!!(知らなかった...)
$ ruby -r debug 実行ファイル
デバッグのやり方
Railsのbinding.pry同様にnext(次へ)やstep(メソッド呼び出しがある場合はその中へ)も可能です。 試しに以下のファイルをデバッグしてみます。
実際にデバッグしてみる
hoge.rb
str = gets p str
オプション付きでコマンドを打つとデバッガーが起動しました。
この場合 (rdb:1)
の部分が目印で、その上に表示されている式がデバッグモードで止まって箇所になります。
$ ruby -r debug hoge.rb /Users/shigeyukifukuda/.rbenv/versions/2.5.1/lib/ruby/2.5.0/x86_64-darwin17/continuation.bundle: warning: callcc is obsolete; use Fiber instead Debug.rb Emacs support available. hoge.rb:1:str = gets (rdb:1)
nextしてみると!
$ ruby -r debug hoge.rb /Users/shigeyukifukuda/.rbenv/versions/2.5.1/lib/ruby/2.5.0/x86_64-darwin17/continuation.bundle: warning: callcc is obsolete; use Fiber instead Debug.rb Emacs support available. hoge.rb:1:str = gets (rdb:1) next "hoge" hoge.rb:2:p str (rdb:1) next "\"hoge\"\n"
binding.pry同様に一行ずつデバッグ出来ます。