重新加载

时间:2018-03-04 20:02:31

标签: python breakpoints pdb

考虑以下计划:

def foo(x):
     return x * 2
def bar(y):
     return y - 2

# more definitions here

def main():
     foo(21)
     bar(44)
     # ...
if __name__ == '__main__':
    main()

我可以将其加载到pdb

$ python -m pdb main.py
(Pdb) b main
Breakpoint 1 at /path/to/main.py:102
(Pdb) run

但是,当我对def main():以上的文件进行更改时,将其保存,并使用(Pdb) run重新加载以重新启动程序,断点会因为行号已更改而全部搞乱。因此,每次重新加载程序时,我都必须重置所有断点。

当我在不同的函数上设置多个断点时,这变得非常繁琐。

有没有办法让pdb在函数中断并让程序重新加载时自动更新断点的行号?

由于

1 个答案:

答案 0 :(得分:0)

您可以在代码中插入多个pdb.set_trace()。它们会在您运行时破坏代码。第一个启动pdb。