我正在尝试调试我编写的可以从标准输入获取其参数的 Python CLI。一个简单的测试用例的输出为
echo "test" | python mytool.py
相当于的输出
python mytool.py test
我想用这个工具调试一些问题,所以我尝试运行它:
echo "test" | pdb mytool.py
但我得到这个输出,然后 pdb 退出:
> /path/to/mytool.py(5)<module>()
-> '''
(Pdb) *** NameError: name 'test' is not defined
(Pdb)
当我添加-m python
到 shebang 以及pdb.set_trace()
在脚本中运行时,也会发生同样的事情。
这里发生了什么?