gpt4 book ai didi

ruby-on-rails - 为什么我的回溯被过滤了?

转载 作者:数据小太阳 更新时间:2023-10-29 08:12:13 25 4
gpt4 key购买 nike

我在第三方库中遇到异常。由于某种原因,回溯跳过了很多行。我把它放在初始化程序中:

Rails.backtrace_cleaner.remove_silencers!
Rails.backtrace_cleaner.remove_filters!

这些行没有效果。

还有什么会影响回溯的内容?是否有我可以检查的全局对象,或者我可以在可疑 gem 中搜索的方法调用?

我使用的是 JRuby、Rails 4.1,所讨论的库是 dullard .

进一步说明

这是回溯通常如何工作的示例。这段代码...

def a
raise "i am in a"
end

def b
puts "i am in b"
a
end

def c
puts "i am in c"
b
end

c

此输出的结果...

➔ ruby exceptiontest.rb
i am in c
i am in b
exceptiontest.rb:2:in `a': i am in a (RuntimeError)
from exceptiontest.rb:7:in `b'
from exceptiontest.rb:12:in `c'
from exceptiontest.rb:15:in `<main>'

对于我的问题,我得到的是这个输出...

➔ ruby exceptiontest.rb
i am in c
i am in b
exceptiontest.rb:2:in `a': i am in a (RuntimeError)
from exceptiontest.rb:15:in `<main>'

最佳答案

  1. 这是否发生在生产中?
  2. 您能否提供有关回溯的更多背景信息?通过跳过行,你的意思是一些回溯实际上是可见的,但有些不是?
  3. 如果是开发,您知道哪个 gem 引发了异常吗?如果是这样,打开它 (bundle open ) 并使用 pry,将 binding.pry 语句紧接在回溯中感兴趣的行之前。您将能够看到发生异常时发生的情况,并且如有必要,您将能够 cd 进入更多上下文。

关于ruby-on-rails - 为什么我的回溯被过滤了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25279069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com