使用 Pry 调试时如何跳过内部 Rails 实现?
How to skip inner Rails realisation when debugging with Pry?
当我们调试不同类之间的行为时,有时Pry潜入Rails类内部(如action_controller/metal/implicit_render.rb
、active_support/callbacks.rb
)或实现其他插件(例如 New Relic)。
跳过此代码并仅通过您的应用程序代码进行调试的最佳方法是什么?
PS: 如果这个问题不够清楚,请帮我给这个问题起一个合适的标题。
我假设您正在使用 pry-byebug
或 debugger
单步执行代码,因为 pry
本身不提供单步执行。
您可以使用逐行执行的 step
和 "steps into" 方法调用(看起来您可能正在这样做)。或者您可以使用 next
which "steps over" 方法调用,这样您就不会陷入太深。
但是你无法避免进入框架和你的 gem,如果它们在执行路径中,你最终会到达那里。使用 next
跳过您不想进入的方法调用。
当我们调试不同类之间的行为时,有时Pry潜入Rails类内部(如action_controller/metal/implicit_render.rb
、active_support/callbacks.rb
)或实现其他插件(例如 New Relic)。
跳过此代码并仅通过您的应用程序代码进行调试的最佳方法是什么?
PS: 如果这个问题不够清楚,请帮我给这个问题起一个合适的标题。
我假设您正在使用 pry-byebug
或 debugger
单步执行代码,因为 pry
本身不提供单步执行。
您可以使用逐行执行的 step
和 "steps into" 方法调用(看起来您可能正在这样做)。或者您可以使用 next
which "steps over" 方法调用,这样您就不会陷入太深。
但是你无法避免进入框架和你的 gem,如果它们在执行路径中,你最终会到达那里。使用 next
跳过您不想进入的方法调用。