是否可以在正在运行的Python程序中放置一个断点,该断点会落入交互式终端?
我不确定我要问的内容是否完全可能,但是由于python是一个解释器,所以可能是可能的。我正在尝试在一个开源项目中进行更改,但是由于python中没有类型,因此很难知道变量作为数据的含义以及它们的作用。您不能只查找有关var类型的文档,因为不能确定它是什么类型。我想放到终端,以便可以通过键入help(var)或print(var)快速检查变量的类型及其作用。我可以通过更改代码然后每次重新运行程序来做到这一点,但这会慢得多。
假设我有一个程序:
def foo():
a = 5
my_debug_shell()
print a
foo()
my_debug_shell是我要询问的功能。它将把我放到python解释器的’>>>’外壳中,我可以在其中键入help(a),它会告诉我a是一个整数。然后,我输入“
a = 7”和一些“ continue”命令,程序继续打印7,而不是5,因为我更改了它。
-
http://docs.python.org/library/pdb.html
import pdb pdb.set_trace()