我正在使用pdb调试我的Python脚本,手册上说我可以使用
pdb
命令在某个时间点打印指定变量的值。但是如果我有很多变量,比如20个变量,并且我想跟踪所有变量的值,该怎么办?我要如何在不手动指定每个变量的情况下打印它们所有的值?以这个脚本为例:a = 1
b = 2
c = 3
我可以使用pdb来调试它,并像这样使用p a,b,c打印它们:
$ python -m pdb test.py
> /media/test.py(1)<module>()
-> a = 1
(Pdb) n
> /media/test.py(2)<module>()
-> b = 2
(Pdb) n
> /media/test.py(3)<module>()
(Pdb) n
--Return--
> /media/test.py(3)<module>()->None
-> c = 3
(Pdb) p a, b, c
(1, 2, 3)
(Pdb)
但是我必须手动指定每个变量。有没有一种方法可以一次打印所有变量,而不需要指定每一个变量?
locals()
和globals()
会有帮助吗?请注意,pdb 能够解释任何 Python 代码,而不仅仅是那些特殊命令... - mike.dld