考虑以下计划:
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在函数中断并让程序重新加载时自动更新断点的行号?
由于
答案 0 :(得分:0)
您可以在代码中插入多个pdb.set_trace()。它们会在您运行时破坏代码。第一个启动pdb。