我在Rails 3应用程序中获取SystemStackerror.
我拥有的所有信息都是无用的一行堆栈跟踪(取自日志):
SystemStackerror (stack level too deep): activesupport (3.2.3) lib/active_support/callbacks.rb:409
所以问题是我如何看到完整的堆栈跟踪?
注意:我不关心为什么会发生这种情况,我只想知道它发生的地方.
使用:Rails 3.2.3,Unicorn.
谢谢.
解决方法
这是lib / active_support / callbacks.rb中非常复杂的代码,但看起来它正在应用各种回调:: before,:after,:around,确切地说.
您可以尝试在第426行之前放置一个老式的“在#{name}之前放置”,然后看看你得到了什么.
同样地,可能是整个堆栈跟踪在rails堆栈内部,并且它被默认的backtrace_filter过滤掉.将backtrace_filter设置为off可能会让您看到堆栈并获得调试线索.请参阅config / initializers / backtrace_silencers.rb并取消注释:
Rails.backtrace_cleaner.remove_silencers!
原文地址:https://www.jb51.cc/ruby/269824.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。