2012-02-08 19 views
8

Rails 3.0から3.2に移行しました。Rails 3.2で "SystemStackError(スタックレベルが深すぎる)"の起源を見つける方法

私はこの小さなスタックトレースで、ページを表示しようとすると、私はエラーを持っている:

SystemStackError in UserController#show 

    stack level too deep 
    SystemStackError (stack level too deep): 
     activesupport (3.2.1) lib/active_support/callbacks.rb:415 


     Rendered /home/barbacan/.rvm/gems/ruby-1.9.2-head/gems/actionpack-3.2.1/lib/action_dispatch/middleware/templates/rescues/_trace.erb (55.3ms) 
     Rendered /home/barbacan/.rvm/gems/ruby-1.9.2-head/gems/actionpack-3.2.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (4.0ms) 
     Rendered /home/barbacan/.rvm/gems/ruby-1.9.2-head/gems/actionpack-3.2.1/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (61.4ms) 

ログは冗長ではありません。

この問題はコールバックで発生します。動的なコードなので、デバッグは困難です。

この問題の原因を見つけ出すために役立つツールや方法がありますか?

ありがとうございます!

EDIT:

のRuby/RoRのでは、リストなどと呼ばれるすべてのメソッドを、一覧表示する方法はありますか?

答えて

4

Pryとrailscastをhttp://railscasts.com/episodes/280-pry-with-railsで試してみると、可能性の高い場所にブレークポイントを設定して手動でステップインすることができます。

+4

pry-nav(https://github.com/nixme/pry-nav)プラグインが必要な場合は、[pry-stack_explorer](https:///github.com/pry/pry-stack_explorer)callstackをナビゲートしたい場合は – horseyguy

+0

ありがとうございます。残念ながら、私の設定ではPry-Navが動作しません。 私はrdebugでテストしましたが、WEBrickが初期化された後でブレークポイントが機能しません(プロセスフォーク?)... – barbacan

関連する問題