加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – activesupport回调中的堆栈级别太深

发布时间:2020-12-16 19:02:36 所属栏目:百科 来源:网络整理
导读:我在Rails 3应用程序中获取SystemStackError. 我拥有的所有信息都是无用的一行堆栈跟踪(取自日志): SystemStackError (stack level too deep): activesupport (3.2.3) lib/active_support/callbacks.rb:409 所以问题是我如何看到完整的堆栈跟踪? 注意:我
我在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!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读