Python pdb:完成后跳过重新启动

Python pdb:完成后跳过重新启动,python,pdb,Python,Pdb,与 出现问题时,将进入调试模式。从中,我发现选项-c“c”(Python3.2+)使我可以在每次程序启动时按c+Enter键 然而,当程序正常完成时,它会输出 程序已完成并将重新启动和 我仍然需要按q+Enter退出程序。 还有什么方法可以跳过此操作吗?您可以按顺序为-c添加多个命令 方法1:仅在未遇到错误时退出 您只需发出另一个命令q即可跳出pdb模式,以防遇到错误。但是,如果遇到错误,它将进入调试模式,在此模式下,您必须继续点击c,然后输入以继续 python -m pdb -c "

出现问题时,将进入调试模式。从中,我发现选项
-c“c”
(Python3.2+)使我可以在每次程序启动时按c+Enter键

然而,当程序正常完成时,它会输出
程序已完成并将重新启动
和 我仍然需要按q+Enter退出程序。
还有什么方法可以跳过此操作吗?

您可以按顺序为
-c
添加多个命令

方法1:仅在未遇到错误时退出

您只需发出另一个命令
q
即可跳出pdb模式,以防遇到错误。但是,如果遇到错误,它将进入调试模式,在此模式下,您必须继续点击
c
,然后输入以继续

python -m pdb -c "c" script.py
未遇到错误(立即退出!)-

遇到错误(进入调试模式!)-

当程序在调试模式下运行脚本完成后,会出现q。调试在遇到(或未遇到)错误后自动退出

未遇到错误(立即退出!)-

(基本)$echo“q”| python-mpdb-c“c”script.py
程序已完成,将重新启动
>/Projects/Random/script.py(6)()
-> """
(Pdb)(基数)美元
遇到错误(立即退出!)-

(基本)$echo“q”| python-mpdb-c“c”script.py
回溯(最近一次呼叫最后一次):
文件“/anaconda3/lib/python3.7/pdb.py”,第1701行,主文件
pdb.\u运行脚本(mainpyfile)
文件“/anaconda3/lib/python3.7/pdb.py”,第1570行,在运行脚本中
self.run(语句)
文件“/anaconda3/lib/python3.7/bdb.py”,第585行,运行中
执行官(命令、全局命令、本地命令)
文件“”,第1行,在
文件/Projects/Random/script.py”,第6行,在
"""
ModuleNotFoundError:没有名为“ThisPackageDoesNotExist”的模块
未捕获异常。正在进入后期调试
运行“cont”或“step”将重新启动程序
>/Projects/Random/script.py(6)()
-> """
(Pdb)验尸调试器已完成。将重新启动script.py
>/Projects/Random/script.py(6)()
-> """
(Pdb)
(基数)美元

以下是可用于pdb的命令列表-

(base) $ echo "q" | python -mpdb -c "c" script.py
Traceback (most recent call last):
  File "/anaconda3/lib/python3.7/pdb.py", line 1701, in main
    pdb._runscript(mainpyfile)
  File "/anaconda3/lib/python3.7/pdb.py", line 1570, in _runscript
    self.run(statement)
  File "/anaconda3/lib/python3.7/bdb.py", line 585, in run
    exec(cmd, globals, locals)
  File "<string>", line 1, in <module>
  File /Projects/Random/script.py", line 6, in <module>
    """
ModuleNotFoundError: No module named 'thispackagedoesntexist'
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
> /Projects/Random/script.py(6)<module>()
-> """
(Pdb) Post mortem debugger finished. The script.py will be restarted
> /Projects/Random/script.py(6)<module>()
-> """
(Pdb) 
(base) $ 
(Pdb)帮助
文档化命令(键入帮助):
========================================
EOF c d h列表q rv未显示
cl调试帮助将退出s unt
别名清除禁用忽略长列表r源直到
args命令显示交互n重新启动步骤
b状态下降j下一次返回故障w
断开控制启用跳转p返回u whatis
bt继续退出l pp运行unalias在哪里
您只需使用--
python3-mpdb-c“q”-c“c”示例.py

(base) $ python -mpdb -c "c" -c "q" script.py
The program finished and will be restarted
(base) $ 
(base) $ python -mpdb -c "c" -c "q" script.py
Traceback (most recent call last):
  File "/anaconda3/lib/python3.7/pdb.py", line 1701, in main
    pdb._runscript(mainpyfile)
  File "/anaconda3/lib/python3.7/pdb.py", line 1570, in _runscript
    self.run(statement)
  File "/anaconda3/lib/python3.7/bdb.py", line 585, in run
    exec(cmd, globals, locals)
  File "<string>", line 1, in <module>
  File "/Projects/Random/script.py", line 6, in <module>
    """
ModuleNotFoundError: No module named 'thispackagedoesntexist'
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
Post mortem debugger finished. The script.py will be restarted
> /Projects/Random/script.py(6)<module>()
-> """
(Pdb) 
echo "q" | python -mpdb -c "c" script.py
(base) $ echo "q" | python -mpdb -c "c" script.py
The program finished and will be restarted
> /Projects/Random/script.py(6)<module>()
-> """
(Pdb) (base) $ 
(base) $ echo "q" | python -mpdb -c "c" script.py
Traceback (most recent call last):
  File "/anaconda3/lib/python3.7/pdb.py", line 1701, in main
    pdb._runscript(mainpyfile)
  File "/anaconda3/lib/python3.7/pdb.py", line 1570, in _runscript
    self.run(statement)
  File "/anaconda3/lib/python3.7/bdb.py", line 585, in run
    exec(cmd, globals, locals)
  File "<string>", line 1, in <module>
  File /Projects/Random/script.py", line 6, in <module>
    """
ModuleNotFoundError: No module named 'thispackagedoesntexist'
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
> /Projects/Random/script.py(6)<module>()
-> """
(Pdb) Post mortem debugger finished. The script.py will be restarted
> /Projects/Random/script.py(6)<module>()
-> """
(Pdb) 
(base) $ 
(Pdb) help

Documented commands (type help <topic>):
========================================
EOF    c          d        h         list      q        rv       undisplay
a      cl         debug    help      ll        quit     s        unt
alias  clear      disable  ignore    longlist  r        source   until
args   commands   display  interact  n         restart  step     up
b      condition  down     j         next      return   tbreak   w
break  cont       enable   jump      p         retval   u        whatis
bt     continue   exit     l         pp        run      unalias  where