python可以调试而无需修改代码

时间:2012-03-09 13:35:26

标签: python debugging command-line

调试python代码似乎是一项简单的任务,只需插入以下行来触发调试器。

import pdb
pdb.set_trace()

是的,所以我尝试过,而且效果非常好。它是一个不错的调试器。

但是有可能启动一个未经修改的python程序,可能指定一个文本文件,列出断点位置?这就是我通常用Java或Flash做的方式。

3 个答案:

答案 0 :(得分:7)

将名为.pdbrc的文件保存在与脚本文件相同的文件夹中。输入您的断点信息:

b 3
b 5
b 70
b 89

在pdb中运行您的脚本,如下所示:

python -m pdb myscript.py

并且pdb会选择并插入断点。不幸的是,它不会保存您在调试时对它们所做的任何更改。

或者你可以在第一行指定它们

(Pdb) b 3;;b 5;;b 70;;b 89

答案 1 :(得分:6)

documentation中所述,您可以使用以下命令运行它:

python -m pdb myscript.py

答案 2 :(得分:0)

如果使用 pytest,pytest --trace 将在第一个测试用例处停止。