【发布时间】:2018-03-04 20:02:30
【问题描述】:
考虑以下程序:
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 在函数上中断,并在程序重新加载时自动更新断点的行号?
谢谢
【问题讨论】:
-
如果可能,请使用更高级的调试器,例如 PyCharm 中的调试器。
标签: python breakpoints pdb