2012-02-08 14 views
8

Migrazione da Rails 3.0 a 3.2.Come trovare l'origine di "SystemStackError (livello di stack troppo profondo)" in Rails 3.2

Ho un errore quando tento di visualizzare una pagina, solo con questo piccolo stacktrace:

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) 

Log non è prolisso.

Questo problema si verifica nei callback: è un codice dinamico ed è difficile eseguire il debug.

Conoscete strumenti o metodi che potrebbero aiutarmi a eseguire il debug e trovare la fonte di questo problema?

Grazie!

EDIT:

In Ruby/RoR, c'è un modo per elencare tutti i metodi chiamati, come un elenco?

risposta

4

È possibile provare a utilizzare Pry e railscast a http://railscasts.com/episodes/280-pry-with-rails, quindi è possibile impostare un punto di interruzione in una posizione probabile e passare manualmente.

+4

Se vuole fare un passo con pry avrà bisogno del plugin [pry-nav] (https://github.com/nixme/pry-nav) :) Raccomando anche [pry-stack_explorer] (https://github.com/pry/pry-stack_explorer) se vuole navigare nel callstack – horseyguy

+0

grazie, ma sfortunatamente pry-nav non funziona con la mia configurazione. Ho provato con rdebug, ma i breakpoint non funzionano dopo WEBrick è inizializzato (il processo si blocca?) ... – barbacan

Problemi correlati