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

Функция post_mortem() модуля pdb в Python

Посмертная отладка объекта трассировки

Синтаксис:

import pdb

pdb.post_mortem(traceback=None)
pdb.pm()

Параметры:

  • traceback=None - объект трассировки.

Возвращаемое значение:

  • нет.

Описание:

Функция pdb.post_mortem() вводит посмертную отладку данного объекта трассировки traceback.

Если traceback=None, то используется исключение, которое обрабатывается в настоящее время (должно обрабатываться исключение).

Объекты трассировки traceback могут быть получены из sys.exc_info() внутри блока исключений или можно просто вызвать pdb.post_mortem() без аргументов напрямую в блоке исключений.

Но в любом случае необходимо сначала поймать исключение, прежде чем его отладить.

Функция pdb.pm() вводит посмертную отладку объекта трассировки, найденного в sys.last_traceback.

Примеры использования:

Вызов pdb.post_mortem() без аргументов.

>>> import pdb
>>> try:
...     y = 5/0
... except:
...     pdb.post_mortem()
... 
> <stdin>(2)<module>()
(Pdb)

Получение объекта трассировки из sys.exc_info().

# псевдокод

...
...
import pdb
...
try:
    execfile(srcfilename, globs, globs)
except:
    print sys.exc_info()[1]
    pdb.post_mortem(sys.exc_info()[2])