python - デバッグ - デバッグする

 クラウディア
1. 参考サイト
2. デバッグする
3. 変数に値を設定する

1. 参考サイト

 下記のサイトを参考にさせていただきました。
27.3. pdb — Python デバッガ — Python 3.6.5 ドキュメント」
「pdb --- Python デバッガ — Python 3.8.0 ドキュメント」
「Python デバッグ Tips

2. デバッグする

 まぁ、ちょうどいい具合というか、悪い具合というか、前項のソース記述時に思うように動作しなかったので、デバッグすることにしました。  デバッガは以下のようにして起動します。

python -m pdb ソース名
 n で次のステップ、q で終了するあたりは、他のデバッガと同様です。  わたしが、よく使うコマンドをリストしておきます。
 コマンド   意味   備考 
b(reak) 指定した場所(ファイル名や行番号を指定可)で停止
c(ont(iure)) ブレークポイントに出会うまで、実行を継続
cl(ear) ブレークのクリア(引数で行番号を指定) 行番号をいれないと全部消えちゃうらしい
l(ist) 実行中の行を表示
n(ext) 次のステップを実行
p(rint) 値の表示 print と打ってしまうと print 関数を実行するらしい
q(uit) 終了

 コマンドのカッコ内は、省略可能であることを示します。

3. 変数に値を設定する


if verbose > 1:
 てな行がありまして。  「verbose」の値を見てみたら

(Pdb) p verbose
0
 となっておる。  ちょっと、「then」条件が見たくて、コマンドが、「gdb」に類似しているかと

(Pdb) p verbose=1
*** SyntaxError: invalid syntax
 わはは、怒られちゃいました。  単に

(Pdb) verbose=1
 でいいようです。

(Pdb) verbose=1
(Pdb) p verbose
1
 
 
カウンタバックグラウンド