たとえば、特定の ActiveRecord オブジェクトに関する問題を探すとき、実稼働システムで次のことを行っていることに気付くことがよくあります。
# RAILS_ENV=production bundle exec
irb(main)> article = Article.find(123)
=> #<Article id: 123, title: "Foobar">
irb(main)> article.do_something(3)
NoMethodError: undefined method `id' for nil:NilClass
行がエラーをスローする理由を再現できない場合がarticle.do_something(3)
あるため、本番モードでサーバー上で直接デバッグしたいと考えています。
問題は次のとおりです。オブジェクト/インスタンス#do_something
の引数を使用してメソッドにステップインするにはどうすればよいですか?3
article
もちろん、そのメソッドにブレークポイントを設定し、プロダクションをリロードして、デバッグが完了するまですべての顧客をそのブレークポイントで待機させることもできます...しかし、それは最良のアイデアではありません.
では、実行中のirb / pryセッションから特定のインスタンスのメソッドにデバッグする方法はありますか? (どちらでもOKです)