Добавление blackboxed библиотек для отладки Pry - PullRequest
0 голосов
/ 22 октября 2019

Возможно ли "черный ящик" библиотек при использовании Pry?

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

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

Дополнительные детали

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

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

Пакет дает мне следующие версии самоцветов:

Using byebug 9.0.6
Using pry 0.12.2
Using pry-byebug 3.4.3

1 Ответ

1 голос
/ 22 октября 2019

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

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

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

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

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

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

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

...