Debugerの使用法
Python Debuggerモジュールを読み込むには, import pdb とする.
import pdb
def f(x):
print("x=", 100 / (x + 5))
プログラムを停止したい行の前に pdb.set_trace() と書くとデバッガが起動する.
重要なコマンド一覧
- h (help) でヘルプが出る.(help <コマンド> でコマンドの説明が出る.)
- q (quit) でデバッガを終了する.(デバッガをちゃんと終了させないとカーネルが暴走するので注意!)
- p (print) でプリント(コマンドと同じ変数でなければ,それを入れるだけでプリントしてくれる.)
- n (next) で次の行に進む.
- c (continue) で次の停止位置(ブレークポイント)まで進む.
- s (step into) で現在の行を実行(関数呼び出しで止まる)
- l (list) で現在の近所のプログラムリストを表示する.
以下のプログラムを動かして,コマンドを色々試してみよう.
- 関数 f(x) 内では,変数 y はどうなっているだろうか?
- もとのプログラム内では,変数 x はどうなっているだろうか?
for i in range(3):
#pdb.set_trace() #止めたいときにはこの行を生かす
y = i + 2
f(y)
for i in range(-10, 0):
y = i + 2
f(y)
%debug