python调试器初始化文件

时间:2018-04-27 15:28:46

标签: python pdb

我正在使用pdb

运行代码
python -m pdb somecode.py 3

我想在命令行上传递一个文件,我可以在其中指定断点。代码选择一些认为传递参数的数据集 - 在本例中为3。我在群集上运行此脚本。我知道可以设置.pdbrc,但我有一些工作在不同的数据集上运行此代码(在这些数据集上代码正常工作)并且我不想干扰它 - 实际上其他工作是在群集队列上,他们可以随时启动。

编辑:是否可以设置断点,继续下一个断点,设置变量,继续下一个断点?

1 个答案:

答案 0 :(得分:1)

您可以使用-c选项(仅限python 3)。文档引用(https://docs.python.org/3/library/pdb.html):

  

3.2版中的新功能:pdb.py现在接受执行的-c选项   命令,如同在.pdbrc文件中给出的,请参阅调试器命令。

在第3行设置一个断点(并转到它 - 第二个'-c'需要这个):

python -m pdb -c "b 3" -c c somecode.py 3

关于指令序列:是,多个-c选项=多个指令。但似乎用这种方法你不能设置变量:-c "aaa=1"不起作用。您可以尝试使用alias命令通过命令行参数预定义一些变量 - pdb中的附加手动命令和所有需要的命令将被设置:

python -m pdb -c "b 3" -c c -c "alias setvars aaa=1;bbb=1" somecode.py 3
(Pdb) setvars
(Pdb) aaa
1
(Pdb) bbb
1
(Pdb)