Railsコンソールから出発点を与えるByebugセッションを開始できるかどうかは疑問だ。私は私が好きな場所byebug
文を挿入して、デバッグを開始することができます知っているが、私はこのような何かしたいと思います:ブロックを使ってByebugを起動する
Byebug.start do
# entry point
User.find(12).problematic_method
end
感謝を。
Railsコンソールから出発点を与えるByebugセッションを開始できるかどうかは疑問だ。私は私が好きな場所byebug
文を挿入して、デバッグを開始することができます知っているが、私はこのような何かしたいと思います:ブロックを使ってByebugを起動する
Byebug.start do
# entry point
User.find(12).problematic_method
end
感謝を。
これはできません。あなたができることは、コードを.rb
ファイルの中に書き、そのファイル/スクリプトをbyebugを使ってデバッグすることです。
クラスを開き、problematic_method
をRailsコンソール内で上書きし、私が望む場所にbyebug
ステートメントを追加しました。このようにして、実行中のプロダクションコードを変更する必要はありません(私は上記でプロダクションでデバッグしたいと思います)。
この回避策で十分です。唯一の問題は、その方法で利用可能なデバッグコードのリストを持っていないことです。
このコードは何をしますか?それはどこで止めるべきですか? 'User'クラスを読み込むとき? 'User.find'を実行するとき? 'problematic_method'を実行するとき?後者の場合、byebugがどのように初期の段階で止まらないかを知るだろうか? :) –
'problematic_method'をデバッグしたいなら、そのメソッドの中から' byebug'を呼び出すことができます。 – Stefan
@SergioTulentsevはい、私はそれも考えましたが、多分、コールの前にセッションを開始して、私に入ることができます。しかし、これは悪夢でもあります。 –