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
и точка останова игнорируется.