使用文件初始化python调试器

使用文件初始化python调试器,python,pdb,Python,Pdb,我正在使用pdb python -m pdb somecode.py 3 我想在命令行上传递一个文件,在那里我可以指定断点。代码选择一些数据集作为传递的参数——在本例中为3。我正在群集上运行此脚本。我知道可以设置.pdbrc,但我有一些作业在不同的数据集上运行此代码(在这些数据集上,代码正常工作),我不想干扰这一点——实际上其他作业在集群队列上,它们可以随时启动 编辑:是否可以设置断点、继续下一个断点、设置变量、继续下一个断点?您可以使用-c选项(仅限python 3)。文件报价(): 版本3

我正在使用
pdb

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


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

您可以使用
-c
选项(仅限python 3)。文件报价():

版本3.2中的新版本:pdb.py现在接受执行的-c选项 命令就像在.pdbrc文件中给定的一样,请参见调试器命令

要在第3行上设置断点(并转到-second'-c'进行此操作),请执行以下操作:

关于指令序列:是的,multiple-c选项=多条指令。但使用这种方法似乎无法设置变量:
-c“aaa=1”
不起作用。您可以尝试使用
alias
命令通过命令行args-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)

有可能给出一系列的说明吗?查看我的编辑
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)