使用 Python 3.5.1 版本。
当我使用 Python 调试器模块运行脚本时:
[home]# python -m pdb myscript.py
这将启动调试会话:
> /somepath/to/myscript.py(1)<module>()
-> import os
(Pdb)
如果我想要在调试会话中进入交互式终端,我可以使用interact
命令:
(Pdb) interact
*interactive*
>>>
现在我可以像在运行的 Python 交互模式中一样与代码进行交互,访问进入 interact
模式时正在调试器中运行的脚本范围内的任何函数或变量。
当我发出命令退出交互模式(以继续调试)时,它会终止整个调试会话:
>>> exit()
The program exited via sys.exit(). Exit status: None
....long nasty stack trace here....
[home]#
我也尝试了quit()
,它也终止了调试器。
你如何在不终止整个调试会话的情况下退出interact
模式?这真的可能吗?
理想情况下,我希望回到离开时的调试模式,以便可以继续逐步执行我的代码。
CTRL-D
也非常方便,可以在工作了一整天并打开了许多终端/ SSH会话后快速关闭这些会话:它通常会立即关闭你的终端仿真器中的标签页,但是如果命令行上仍有半输入的命令或前台正在运行的程序,则不会关闭。 - Lukas Graf