Ruby 2.0系でのみ動作するdeivid-rodriguez/byebugというデバッガーが存在する事を知りました。
少し触ってみた所、2.0系とdebuggerではどうにも動作が不安定だったステップ実行がちゃんと実行できるし、動作も軽快で良い感じでした。
debuggerとの違いは以下のようになってます。
- 1.9系では動かない。2.0系のみ対応
- 2.0で追加されたデバッガ向けのC APIを利用しているため、MRIのソースに依存しないクリーンな実装。(debugger2みたいな感じ)
- debuggerで現在も残っているissueをいくつか解決している
- 特に正しいバックトレースを返してくれる点が良い
- 外部エディターサポートは組み込んでいない
- スレッドはまだサポートされていない。まだ新しいAPIでサポートされてないかららしい
- アクティブにメンテしてる
- pryコマンドを組込んでいるので、byebugとpry入れてればそれだけでpry呼び出せる。
デバッガに関しては、いまいち選択に悩む所が多くて安定しているとは言い難い状態だったのですが、使ってみた感触としては、今のところかなりイチオシのデバッガでは無いかと思います。