如何在不输入Python pdb调试器中的行号的情况下在当前行上设置断点?

时间:2018-08-31 07:30:01

标签: python pdb

我已经习惯了GDB,b是这样做的。

但是在pdbb just list breakpoints中。

我可以做b 123,但是懒得键入123

也许是像b .这样的不可思议的论点?

我了解PyCharm和__import__('pdb').set_trace(),只是检查这些快速调试是否有可用的CLI替代方法。

1 个答案:

答案 0 :(得分:2)

如果您接受添加新的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

使用breakcurrentbc

(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))