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 のステップスルーなど) のように内部で何が起こっているのかを実際に確認したいと思っています。