我正在使用pdb
python -m pdb somecode.py 3
我想在命令行上传递一个文件,我可以在其中指定断点。代码选择一些认为传递参数的数据集 - 在本例中为3
。我在群集上运行此脚本。我知道可以设置.pdbrc
,但我有一些工作在不同的数据集上运行此代码(在这些数据集上代码正常工作)并且我不想干扰它 - 实际上其他工作是在群集队列上,他们可以随时启动。
编辑:是否可以设置断点,继续下一个断点,设置变量,继续下一个断点?
答案 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)