- 例外発生時のデバッグ
- kay で例外が発生した場合、Werkzeug のデバッガが動きブラウザー上で例外発生時のトレースバックを表示する。
参考 Kayキュメント デバッグ
Werkzeug内でコンソールを使用して、Pythonコードの実行も可能。 - 例外発生時以外でのデバッグ
- 例外発生時以外でデバッグしたい場合は、pdb を利用する。
「利用方法」
- トレースしたい箇所に、set_trace() を挿入する
- ソース上には、from kay.utils import set_trace も追加する
- 開発環境でアプリケーションを動かし、動作が指定箇所に届くと、コマンド・プロンプト上でpdbが起動する
pdbでよく使うコマンドコマンド 引数 説明 s(tep) ステップを実行(ステップイン)
呼び出し関数などがあった場合、その中のステップも実行n(ext) ステップを実行(ステップオーバー)
呼び出し関数などがあっても、現関数内でステップ実行r(eturn) 現在の関数が返るまで実行 p 変数を表示 l(ist) first, last 引数が無い場合は、現在行を中心に11行ソースを表示(もしくは前に表示したリストの続きを表示)
第一引数がある場合は、表示開始行を指定
第二引数がある場合は、表示終了行を指定。第二引数が第一より小さい場合、カウントと解釈する
第一と第二引数の間にはコンマを入れるb(reak) lineno 引数がある場合は、引数の行番号にブレークポイントを設定
引数が無い場合は、ブレークポイント一覧を表示tbreak lineno 一時的なブレークポイントで、最初にそこに達したときに自動的に取り除かれる cl(ear) bpnumber 引数のブレークポイント番号を解除する c(ontinue) ブレークポイントまで実行する q(uit) デバッガ終了
参考 Python ライブラリリファレンス デバッガコマンド
下はpdbの画面例、26行目にset_trace()が挿入してある。
listコマンドを実行したところ、矢印は現在実行行、Bはブレークポイント設定行。