如何在Python pdb调试器中在当前行设置断点而不输入行号?

2024-04-26 23:53:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我习惯了GDB,在GDB中b就是这样做的。你知道吗

但是在pdbbjust list breakpoints。你知道吗

我可以做b 123,但懒得输入123。你知道吗

也许是像b .这样的神奇论点?你知道吗

我知道PyCharm和__import__('pdb').set_trace(),只是在检查是否有一个可用的CLI替代品用于这些快速调试。你知道吗


Tags: import替代品clitracepdblistpycharm习惯
1条回答
网友
1楼 · 发布于 2024-04-26 23:53:33

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

相关问题 更多 >