Добавление библиотек черного ящика в отладку Pry

Можно ли использовать библиотеки «черного ящика» при использовании Pry?

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

В javascript легко добавлять скрипты в список игнорирования, и они просто пропускаются при отладке. Есть ли способ добиться аналогичного поведения с Pry?

Дополнительная информация

Под обходом стека я подразумеваю использование «вверх» для перехода к вызывающей строке исходного кода, которая перемещает маркер исходного кода в предыдущий кадр стека.

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

Bundle дает мне эти версии драгоценных камней:

Using byebug 9.0.6
Using pry 0.12.2
Using pry-byebug 3.4.3

person Jérôme Tremblay    schedule 22.10.2019    source источник
comment
Я так не думаю. Можете ли вы объяснить более подробно, что вы подразумеваете под обходом стека с подглядыванием? Обычно для этого требуется другой гем, поэтому, если вы можете предоставить больше информации об используемых вами библиотеках и конкретных действиях, которые вы предпринимаете, это поможет.   -  person anothermh    schedule 22.10.2019


Ответы (1)


Запрашиваемая функциональность не существует в pry-byebug. Вы можете добавить свой +1 (или написать код) к следующей проблеме GitHub для любопытных. до свидания:

Мой вопрос/предложение заключается в том, что если есть способ отфильтровать или пропустить внешнюю библиотеку или настроить переход на следующую строку, принадлежащую сценарию в текущем приложении. Например, шаг в вызов метода пропустит любой внутренний скрипт Rails или любой используемый в настоящее время гем и остановится на следующей строке файла, находящегося внутри приложения.

А также эту проблему GitHub:

Я думаю, было бы очень полезно иметь команду, которая позволяла бы вам работать до тех пор, пока вы не нажмете следующую строку кода, отличного от Rails/Gem.

Поскольку первоначальная проблема была открыта почти шесть лет, я думаю, что вам лучше всего помочь создать функцию, а не добавлять +1 к существующим проблемам.

Автор pry-byebug также предлагает это обходное решение в другом ответе SO на очень похожий вопрос:

вам нужно вручную установить точки останова для перехода от контроллера к представлению и наоборот

person anothermh    schedule 22.10.2019