デバッグツールの使い方(byebug, pryなど)

Rubyのデバッグツールである byebugpry は、プログラムの動作を詳細に観察し、問題箇所を特定するのに非常に有用です。以下では、各ツールの特徴と基本的な使い方を詳しく説明します。


1. byebug の使い方

概要

byebug は、Rubyの標準的なデバッガとして広く使われており、ステップ実行や変数の中身の確認、ブレークポイントの設定が可能です。

インストール方法

bash
gem install byebug

もしくは、Gemfile に以下を追加します:

ruby
gem 'byebug', group: [:development, :test]

基本的な使い方

プログラム中の任意の箇所に byebug を挿入します。

ruby
def add(a, b) byebug a + b end puts add(2, 3)

このコードを実行すると、byebug の位置で実行が一時停止し、以下のようなプロンプトになります:

scss
(byebug)

よく使うコマンド

コマンド 説明
n 次の行へ進む(ステップオーバー)
s メソッドの中へ入る(ステップイン)
c 次のブレークポイントまで続行
l ソースコードの一部を表示
p 変数 指定した変数の内容を表示
q デバッガを終了してプログラムを中止

2. pry の使い方

概要

pry は、REPL(対話型環境)を提供する強力なツールで、コードの任意の場所で対話的に変数や状態を調べることができます。pry-byebug を併用することで、デバッグ機能も強化されます。

インストール方法

bash
gem install pry gem install pry-byebug

もしくは、Gemfile に以下を追加:

ruby
gem 'pry' gem 'pry-byebug'

基本的な使い方

プログラムの任意の位置に binding.pry を挿入します。

ruby
require 'pry' def multiply(x, y) binding.pry x * y end puts multiply(4, 5)

実行すると pry のプロンプトに入り、現在のスコープでさまざまな操作が可能になります。

pry での操作例

  • x, y と入力すればその値を確認できる

  • ls で現在のメソッドや変数をリスト表示

  • cd でオブジェクトの内部に移動し、その状態を確認

  • exit または Ctrl+D でpryを抜けて処理を再開


3. byebug と pry の使い分け

ツール 特徴
byebug 軽量でステップ実行に特化。テスト時や軽量なデバッグに向く。
pry 対話的に深く調査でき、REPLとしても強力。探索的デバッグに適している。

まとめ

  • byebug はブレークポイントやステップ実行向き。

  • pry はREPL機能を生かして状態を詳細に確認可能。

  • デバッグしたいポイントに byebugbinding.pry を挿入して使用。

  • Gemfile に記述すればBundlerで管理でき、開発環境と本番環境を分離できる。

生成日:2025/05/03