.pdbrcМало кто знает, что при запуске PDB ищет файл
.pdbrc в вашем домашнем каталоге или в текущей папке проекта. В этом файле можно прописать алиасы — сокращенные команды, которые выполняют сложные цепочки Python-кода.
🛠 5 киллер-фич для вашего дебаггера
Добавьте эти строки в файл
~/.pdbrc, чтобы получить суперспособности при отладке:1️⃣ `dir obj` — выводит все атрибуты и методы объекта в красивом формате, скрывая служебные «дандер»-методы (`__init__` и т.д.).
2️⃣ `attrs obj` — показывает только данные (атрибуты), игнорируя функции и методы. Идеально для осмотра состояния объекта.
3️⃣ `vars obj` — выводит только переменные экземпляра (то, что лежит в `__dict__`).
4️⃣ `src obj` — самая крутая фишка. Показывает исходный код функции или класса прямо в консоли дебаггера с указанием файла и строки.
5️⃣ `loc` — выводит список всех локальных переменных в текущем фрейме.
Представьте, что вы остановились на брейкпоинте и у вас есть объект
c (экземпляр TextCalendar`). Вместо невнятного `<__main__.TextCalendar object...>, вы вводите:
(Pdb) attrs c
# Вывод:
c._firstweekday = 0
c.firstweekday = 0
(Pdb) src c.prmonth
# Вывод:
/path/to/calendar.py on line 404:
def prmonth(self, theyear, themonth, w=0, l=0):
print(self.formatmonth(theyear, themonth, w, l), end='')
🔗 Ссылка на полную статью
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека питониста
#буст