Djangoハッカソンのハンズオンでも好評だったPythonのpdb。
使い方はいろいろあるみたいだけど、とりあえず set_trace は便利なのですぐにでも使ってみるべき。
hello-pdb.py
def say_hello(): msg = 'hello world' import pdb pdb.set_trace() print msg if __name__ == '__main__': say_hello()
これで実行すると pdb.set_trace() でデバッグ用の対話シェルが実行される。
P:\Python\_sample\hello_pbd>python hello-pdb.py > p:\python\_sample\hello_pbd\hello-pdb.py(7)say_hello() -> print msg (Pdb) msg 'hello world' (Pdb) say_hello <function say_hello at 0x00B01FB0> (Pdb) n hello world --Return-- > p:\python\_sample\hello_pbd\hello-pdb.py(7)say_hello()->None -> print msg (Pdb) --Return-- > p:\python\_sample\hello_pbd\hello-pdb.py(10)<module>()->None -> say_hello() (Pdb)
printデバッグよりは使いやすいかと。