Мне нужно отлаживать большие программы с вложенными вызовами функций. Хотелось бы это s.t. всякий раз, когда возникает исключение, я просто останавливаю выполнение в этой точке внутри любой функции, в которой я могу быть. Затем я могу попробовать различные исправления ошибки и перейти дальше.Отладка Советы для Python
В то время как я использовал try, кроме того, мне здесь нужно, чтобы я мог остановиться внутри любой функции, независимо от того, как вложенной может быть вызов. Итак, чтобы сделать это вручную, мне пришлось бы обернуть код каждой функции вокруг try-except! например:
def fun1:
try:
except:
pdb.set_trace()
И это было бы очень громоздко писать. Кроме того, всякий раз, когда я сталкиваюсь с исключением, я перехожу прямо к блоку except, для больших функций это потребует перезагрузки с самого начала, которое будет занимать время. Поэтому в основном у меня есть это (амбициозное) требование выполнения каждого линии кода в его собственном примерочные, за исключением блока, как:
def func1:
try:
line1
except:
pdb.set_trace()
try:
line2
except:
pdb.set_trace()
Есть некоторые автоматический, или умный способ соорудить такую систему? Спасибо заранее.