Как поставить точку останова на текущей строке, не набирая номер строки в отладчике Python pdb? - PullRequest
0 голосов

Я привык к GDB, где b делает это.

Но в pdb, b просто перечислить точки останова .

Я могу сделать b 123, но лениво набрать 123.

Может быть, магический аргумент типа b .?

Я знаю PyCharm и __import__('pdb').set_trace(), просто проверяю, есть ли полезная альтернатива CLI для этих быстрых отладок.

1 Ответ

0 голосов
/ 31 августа 2018

, если вы принимаете добавление новой команды pdb, это тривиально:

def do_breakcurrent(self, arg):
    cur_lineno = str(self.curframe.f_lineno)
    return self.do_break(cur_lineno)


import pdb
pdb.Pdb.do_breakcurrent = pdb.Pdb.do_bc = do_breakcurrent

используйте breakcurrent или bc:

(Pdb) bc
Breakpoint 1 at /Users/georgexsh/workspace/so/52110534.py:11

если вы хотите поместить этот код в .pdbrc, чтобы сделать его доступным автоматически, нужно немного подправить:

import pdb
pdb.Pdb.do_bc = lambda self,arg: self.do_break(str(self.curframe.f_lineno))
...