Сообщить об ошибке.

Функция breakpointhook() модуля sys в Python

Запуск собственного отладчика

Синтаксис:

import sys

sys.breakpointhook()

Параметры:

  • Нет

Описание:

Подключаемая функция breakpointhook() модуля sys вызывается встроенной функцией breakpoint(). По умолчанию sys.breakpointhook() подключает отладчик pdb, но его можно настроить на любую другую функцию, чтобы можно было выбрать, какой отладчик использовать.

Сигнатура этой функции зависит от того, что она вызывает. Привязка по умолчанию, например pdb.set_trace(), не требует аргументов, но можно связать ее с функцией, которая ожидает дополнительные аргументы (позиционные и/или ключевые слова). Встроенная функция breakpoint() передает свои *args и **kws напрямую. Все, что возвращает sys.breakpointhooks(), возвращается из функция breakpoint().

Реализация по умолчанию сначала обращается к переменной окружения PYTHONBREAKPOINT.

  • Если эта переменная окружения установлена в 0, то sys.breakpointhook немедленно возвращает результат, то есть это не операция.
  • Если переменная окружения не установлена ​​или установлена ​​в пустую строку, то вызывается pdb.set_trace().

В противном случае эта переменная должна устанавливать имя функции для запуска, используя точечную нотацию импорта Python, например package.subpackage.module.function. В этом случае package.subpackage.module будет импортирован и у этого модуля должна быть вызываемая функция function(). Она выполняется, передавая *args и **kws и независимо от того, что возвращает function(), результат sys.breakpointhook() возвращается во встроенную функцию breakpoint().

Обратите внимание, что если что-то пойдет не так при импорте вызываемого по имени PYTHONBREAKPOINT, сообщается о RuntimeWarning и точка останова игнорируется.