Можно просто жать Enter — он повторяет последнюю введенную команду. Удобно также пользоваться
n[ext] — он выполняет команды, не заходя в вызываемые функции или
unt[il] — выполняет команды до тех пор, пока не окажется строчкой ниже (т. е. если в последней строчке цикла сказать
until, он промотает весь цикл и остановится на следующей команде. Чтобы поставить условный breakpoint, нужно сказать
b[reak] ([file:]lineno | function)[, condition], например,
break 42, a = 5. Команда перехода к нужной строке —
j[ump]. Вот насчет отлавливания типичной ошибки не скажу — таким не пользуюсь. Но вообще такое вроде есть — например, можно завернуть вызов программы в собственный
try/except, отловить ошибку, посмотреть ее текст, и если совпадает — запустить отладчик (вот тут не помню, как из кода его запустить), чтобы посмотреть стек вызовов (
w[here]).
Кстати, он вам ошибку выводит, а traceback не печатает, что ли?
См. также
руководство к модулю и внутреннюю справку (
h[elp]).