【问题标题】:After code change, how to start over debugging without restarting pdb?代码更改后,如何在不重新启动 pdb 的情况下重新开始调试?
【发布时间】:2015-11-13 16:04:24
【问题描述】:

在 pdb 中调试时,我发现了一个错误,因此更改了代码。

现在我想重新开始调试。我可以在不退出 pdb 的情况下做到这一点,这样我就不必为我的 python 脚本指定命令行参数了吗?还是需要先退出pdb再重新输入?

【问题讨论】:

    标签: python python-2.7 pdb


    【解决方案1】:

    您可以使用run pdb 命令停止现有进程并启动新进程。

    在运行run 时,您仍然需要指定命令行参数,但是,从docs:“历史记录、断点、操作和调试器选项被保留”。

    如果必须重新指定命令行参数是一个问题,您可以先打印' '.join(sys.argv),然后将其复制粘贴到您的run 命令(当然,可能需要进一步的shell 转义)。

    【讨论】:

    • restart 是否加载并运行修改后的代码而不是旧代码?
    • @Tim docs 说“restart”是“run”的别名,意思是这样
    • 我尝试将args指定为restart,但是pdb异常退出。
    • run 有时可以与 args 一起使用,但有时不能。 restart 如何为您接受 args 工作?
    • @Tim 它没有,文档显然是错误的。我编辑了我的答案
    猜你喜欢
    • 2011-09-07
    • 2018-04-21
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多