Pythonには pdb
というデバッガーがついています。名前からてっきり gdb
みたいな、化石みたいなインターフェースしか持ってないのかと思ったら、コード中に貼り付けて止めることもできるみたい(ちょうどrubyの debugger
みたいな)。
そのためには pdb.set_trace()
というのを使う。
例えば、
summation = 0 for i in range(10): summation += i
みたいなコードがあったとして、ちゃんと足されているか調べるには、
summation = 0 for i in range(10): summation += i import pdb;pdb.set_trace()
そうすると、importの書いてある文で実行が止まります。変数の中を見るには、 gdb
や debugger
と似たような感じで、
(Pdb) p summation
とかやればよい(ちなみに h
でヘルプ)。
pdbの代わりに使えるもの
もし色付きで補完の効くipythonライクなものがほしければ ipdb
というものを使えばよい(pipが使えれば pip install ipdb
で簡単にインストールできる)。
もしくは pudb
を使うと、変数の中身やソースコードなど、いろいろと可視化されたものが使える。
noseとpudbを使ったテスト駆動開発 - SELECT * FROM life;