Rubyのデバッグツールである byebug や pry は、プログラムの動作を詳細に観察し、問題箇所を特定するのに非常に有用です。以下では、各ツールの特徴と基本的な使い方を詳しく説明します。
1. byebug の使い方
概要
byebug は、Rubyの標準的なデバッガとして広く使われており、ステップ実行や変数の中身の確認、ブレークポイントの設定が可能です。
インストール方法
もしくは、Gemfile に以下を追加します:
基本的な使い方
プログラム中の任意の箇所に byebug を挿入します。
このコードを実行すると、byebug の位置で実行が一時停止し、以下のようなプロンプトになります:
よく使うコマンド
| コマンド | 説明 |
|---|---|
n |
次の行へ進む(ステップオーバー) |
s |
メソッドの中へ入る(ステップイン) |
c |
次のブレークポイントまで続行 |
l |
ソースコードの一部を表示 |
p 変数 |
指定した変数の内容を表示 |
q |
デバッガを終了してプログラムを中止 |
2. pry の使い方
概要
pry は、REPL(対話型環境)を提供する強力なツールで、コードの任意の場所で対話的に変数や状態を調べることができます。pry-byebug を併用することで、デバッグ機能も強化されます。
インストール方法
もしくは、Gemfile に以下を追加:
基本的な使い方
プログラムの任意の位置に binding.pry を挿入します。
実行すると pry のプロンプトに入り、現在のスコープでさまざまな操作が可能になります。
pry での操作例
-
x,yと入力すればその値を確認できる -
lsで現在のメソッドや変数をリスト表示 -
cdでオブジェクトの内部に移動し、その状態を確認 -
exitまたはCtrl+Dでpryを抜けて処理を再開
3. byebug と pry の使い分け
| ツール | 特徴 |
|---|---|
| byebug | 軽量でステップ実行に特化。テスト時や軽量なデバッグに向く。 |
| pry | 対話的に深く調査でき、REPLとしても強力。探索的デバッグに適している。 |
まとめ
-
byebugはブレークポイントやステップ実行向き。 -
pryはREPL機能を生かして状態を詳細に確認可能。 -
デバッグしたいポイントに
byebugやbinding.pryを挿入して使用。 -
Gemfileに記述すればBundlerで管理でき、開発環境と本番環境を分離できる。
生成日:2025/05/03