Как пропустить внутреннюю реализацию Rails при отладке с помощью Pry?

Когда мы отлаживаем поведение между разными классами, иногда Pry погружается во внутренние классы Rails (например, action_controller/metal/implicit_render.rb, active_support/callbacks.rb) или реализацию других плагинов (например, New Relic).

Каков наилучший способ пропустить этот код и выполнять отладку только через код вашего приложения?

PS: помогите мне, пожалуйста, сделать правильный заголовок для этого вопроса, если он недостаточно ясен.


person TiSer    schedule 15.09.2016    source источник
comment
Я помню, когда у меня была первая реализация Rails.   -  person DiegoSalazar    schedule 15.09.2016
comment
@diego.greyrobot, извини, я не уловил твоей мысли.   -  person TiSer    schedule 15.09.2016


Ответы (1)


Я предполагаю, что вы выполняете пошаговый код, используя pry-byebug или debugger, поскольку pry сам по себе не предлагает пошагового выполнения.

Вы можете использовать step, который идет построчно и "шагает" в вызовы методов (что, похоже, вы можете делать). Или вы можете использовать next, который "перешагивает" вызовы методов, чтобы вы не слишком углублялись.

Но вы не можете избежать входа во фреймворк и свои драгоценные камни, если они находятся на пути выполнения, вы в конечном итоге туда доберетесь. Используйте next для обхода вызовов методов, в которые вы не хотите входить.

person DiegoSalazar    schedule 15.09.2016
comment
Я использую pry-nav. Да, я использую next, но я все еще вхожу в бесконечные строки кода. - person TiSer; 15.09.2016
comment
Добро пожаловать в отладку фреймворка. Если ваш код достаточно модульный, чтобы работать изолированно, это упростит ваши усилия по отладке. - person DiegoSalazar; 15.09.2016