【问题标题】:How do you pass script arguments to pdb (Python)?如何将脚本参数传递给 pdb (Python)?
【发布时间】:2010-10-26 18:19:22
【问题描述】:

我有 python 脚本(ala #!/usr/bin/python),我想用 pdb 调试它。如何将参数传递给脚本?

我有一个 python 脚本,想用 pdb 调试它。有没有办法可以将参数传递给脚本?

【问题讨论】:

    标签: python debugging arguments pdb


    【解决方案1】:
    python -m pdb myscript.py arg1 arg2 ...
    

    这会调用pdb 作为脚本来调试另一个脚本。您可以在脚本名称之后传递命令行参数。有关详细信息,请参阅pdb doc page

    【讨论】:

      【解决方案2】:

      如果像我一样,您更喜欢图形化的 pudb 调试器,您可以通过以下方式直接传递脚本的参数:

      pudb myscript.py arg1 arg2 ...
      

      确实,调用:

       python -m pudb myscript.py arg1 arg2 ...
      

      不会工作将返回以下错误:

      No module named pudb.__main__; 'pudb' is a package and cannot be directly executed
      

      【讨论】:

        【解决方案3】:

        我通常使用 ipython

        
        -i
            If running code from the command line, become interactive afterwards.
            It is often useful to follow this with `--` to treat remaining flags as
            script arguments.
        
        
        ipython --pdb -i -- test.py -a
        

        【讨论】:

          【解决方案4】:

          python3 -m pdb myscript.py -a val 如果使用带有标志“a”和值“val”的 argparse

          【讨论】: