2012-02-08 28 views
8

Tôi di chuyển từ Rails 3.0 đến 3.2.Cách tìm nguồn gốc của "SystemStackError (mức chồng quá sâu)" trong Rails 3.2

Tôi có một lỗi khi tôi cố gắng để hiển thị một trang, chỉ với stacktrace nhỏ này:

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 là không dài dòng.

Sự cố này xảy ra trong gọi lại: đó là mã động và rất khó để gỡ lỗi.

Bạn có biết các công cụ hoặc phương pháp có thể giúp tôi gỡ lỗi và tìm nguồn gốc của sự cố này không?

Cảm ơn!

EDIT:

Trong Ruby/RoR, có cách liệt kê tất cả các phương pháp được gọi là danh sách?

Trả lời

4

Bạn có thể thử sử dụng Pry và railscast tại http://railscasts.com/episodes/280-pry-with-rails, sau đó bạn có thể đặt điểm ngắt tại vị trí có khả năng và thực hiện theo cách thủ công.

+4

Nếu anh ấy muốn bước lên, anh ấy sẽ cần plugin [pry-nav] (https://github.com/nixme/pry-nav) :) Tôi cũng khuyên bạn nên [pry-stack_explorer] (https://github.com/pry/pry-stack_explorer) nếu anh ta muốn điều hướng callstack – horseyguy

+0

cảm ơn bạn, nhưng tiếc là pry-nav không hoạt động với cấu hình của tôi. Tôi đã thử nghiệm với rdebug, nhưng điểm ngắt không hoạt động sau khi WEBrick được khởi tạo (dĩa xử lý?) ... – barbacan

Các vấn đề liên quan