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?
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
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