LoginSignup
10
20

More than 5 years have passed since last update.

binding.pryでデバッグする方法

Last updated at Posted at 2018-09-26

本日先輩から教わった、binding.pryのデバッグのやり方についてまとめます。

下準備

$ gem install pry-byebug

gemをインストールして、準備完了です。

binding.pryの使い方

  • コードの処理がどこまでうまく動いてくれているか
  • 特定のポイントで処理がどうなっているのか

コードの処理を止めて確認したい箇所に”binding.pry"と打つことで調べることができます。

ruby.qiita.rb
def index 
 member = params[:member]

 if member >= 5
  puts "5人より多い"
 else member <= 3
  puts "3人より少ない"
 end
end

このようなコードがあった場合、例えば

ruby.qiita.rb
def index 
 member = params[:member]
binding.pry
 if member >= 5
  puts "5人より多い"
 else member <= 3
  puts "3人より少ない"
 end
end

このように確認したい変数の直後に打ちます。

binding.pryでできること

binding.pryを追加した後、該当するコードをサービス側で動かしてみます。
すると、binding.pryを追加した箇所で処理が止まります。
そこで、サーバーを立てているターミナルを確認すると以下のような画面で処理の詳細・途中経過を確認することができます。

#ターミナル
   1:def index 
   2: member = params[:member]
   3: binding.pry

=> 4: if member >= 5
   5:  puts "5人より多い"
   6: else member <= 3
   7:  puts "3人より少ない"
   8: end
   9:end

[1] pry(#<該当するファイル名>)> member
=> 5

このpry〜から始まる画面で状態を知りたい変数名を入れることで、
その処理のタイミングでは対象の変数がどんな状態になっているか確認することができます。
また、計算式を入れて確認することもできます。


[1] pry(#<該当するファイル名>)> member - 5
=> 0

また、計算式を入れて変数の状態を確認することもできます。

少し調べてみて、まだまだ使い方の奥が深いと感じていますので引き続き勉強していきます。
今日はこのあたりで、失礼します。

参考サイト

〜変数の中身を確認〜 binding.pryでデバッグする(初心者の方向け)
https://qiita.com/tomoharutsutsumi/items/6b12af3dc5eb8dfb9801

10
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
20