我知道有一千篇关于 Python 调试的帖子,但我找不到我要找的东西....一个可视化调试器。例如:
one@localhost ~ $ cat duh.py
import pdb
class Coordinate(object):
pdb.set_trace()
def __init__(self, x, y):
self.x = x
self.y = y
def __repr__(self):
return "Coord: " + str(self.__dict__)
def add(a, b):
return Coordinate(a.x + b.x, a.y + b.y)
def sub(a, b):
return Coordinate(a.x - b.x, a.y - b.y)
one = Coordinate(100,200)
two = Coordinate(300,200)
add(one, two)
我想看看实际使用的值。而不是看到def __init__(self, x, y):
我想看到def __init__(self, 100, 200):
> /home/one/duh.py(14)<module>()
-> one = Coordinate(100,200)
(Pdb) s
--Call--
> /home/one/duh.py(4)__init__()
-> def __init__(self, x, y):
(Pdb) s
> /home/one/duh.py(5)__init__()
-> self.x = x
(Pdb) s
> /home/one/duh.py(6)__init__()
-> self.y = y
(Pdb) s
--Return--
> /home/one/duh.py(6)__init__()->None
-> self.y = y
我完全不习惯对解释器内部发生的事情视而不见,我真的很想看看内部发生了什么,就像其他脚本语言调试器(比如 JavaScript 单步执行)一样。