【问题标题】:python pdb breakpoints cleared after reloading重新加载后清除python pdb断点
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-05-24
    • 2023-04-05
    • 2020-12-31
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-05
    • 1970-01-01
    相关资源
    最近更新 更多