2017-10-24 8 views
0

Railsコンソールから出発点を与えるByebugセッションを開始できるかどうかは疑問だ。私は私が好きな場所byebug文を挿入して、デバッグを開始することができます知っているが、私はこのような何かしたいと思います:ブロックを使ってByebugを起動する

Byebug.start do 
    # entry point 
    User.find(12).problematic_method 
end 

感謝を。

+0

このコードは何をしますか?それはどこで止めるべきですか? 'User'クラスを読み込むとき? 'User.find'を実行するとき? 'problematic_method'を実行するとき?後者の場合、byebugがどのように初期の段階で止まらないかを知るだろうか? :) –

+1

'problematic_method'をデバッグしたいなら、そのメソッドの中から' byebug'を呼び出すことができます。 – Stefan

+1

@SergioTulentsevはい、私はそれも考えましたが、多分、コールの前にセッションを開始して、私に入ることができます。しかし、これは悪夢でもあります。 –

答えて

0

これはできません。あなたができることは、コードを.rbファイルの中に書き、そのファイル/スクリプトをbyebugを使ってデバッグすることです。

0

クラスを開き、problematic_methodをRailsコンソール内で上書きし、私が望む場所にbyebugステートメントを追加しました。このようにして、実行中のプロダクションコードを変更する必要はありません(私は上記でプロダクションでデバッグしたいと思います)。

この回避策で十分です。唯一の問題は、その方法で利用可能なデバッグコードのリストを持っていないことです。

関連する問題