概要
VSCodeを使用してPythonのデバッグを行ったので、その方法についてまとめた。
尚、デバッグを行ったのはFlaskフレームワークで作成したファイルになる。
拡張機能の導入、ブレークポイントの設置方法、処理の進め方や変数の値を書き換える方法について扱う。
前提
今回はflaskフレームワークを使用してWEBアプリを作成していたため、ブラウザで動作させながらデバッグを行った。
概要 Pythonのflaskフレームワークを使用して、TODOリストを管理するWEBアプリを作成したのでまとめた。 flaskのGET/POSTの方法やセッション等の扱いについて、当アプリを作成しながら振り返ることが目的。 当記[…]
準備
拡張機能のインストール
VSCodeにてデバッグを行うためには、Pythonの拡張機能をインストールする必要がある。
以下のように、拡張機能ボタンを押下して「Python」と検索する。
以下のPythonの拡張機能が表示されるので、インストールする。
尚、【インストール】ボタンはどちらを押下してもOK。
インストール完了。
デバッグの方法
デバッグしたいファイルを開く
今回はviews.pyのデバッグを行いたいため、該当のファイルを開いておく。
※注意
ファイルを開いていないと、以下のように「変数 $(file)を解決できません。エディターを開いてください。」と表示された。
【実行とデバッグ】ボタンを押下
以下が表示された場合、「現在アクティブなPythonファイルをデバッグする」を選択する。
views.pyがデバッグモードで起動された。
ブレークポイントの設置
行番号の左をクリックするか、対象の行でF9を押すとブレークポイントを設置できる。
ブレークポイントを設置した処理の呼び出し
views.pyの対象処理を呼び出すために、以下のブラウザ操作を行った。
・【登録】ボタンを押下
処理が止まる
ブレークポイントを設置した行で止まり、デバッグパネルが表示される。
デバッグパネルの使い方
以下のデバッグパネルの使い方について、簡単に説明する。
続行ボタン
ブレークポイントで停止した処理を続行する。
以下のようにブレークポイントを複数設置している場合、次のブレークポイントまで処理をスキップする。
次のブレークポイントがない場合、最後まで処理をスキップする。
ブレークポイントの設置
ブレークポイント①
ブレークポイント②
実行
実行すると、まずブレークポイント①で止まる。
続行ボタンを押下すると、ブレークポイント②まで処理をスキップする。
この状態で再度続行ボタンを押下すると、最後まで処理をスキップできる。
ステップオーバーボタン
ブレークポイントで停止した箇所から一行ずつ処理を続行できる。
関数が呼ばれる場合、関数を即実行し次の行に移動する。
実行
ブレークポイントで止まる。
ステップオーバーボタンを押下すると、処理が一行進む。
ステップインボタン
関数が呼ばれる場合、関数の中へ移動する。
実行
ブレークポイントで止まる。
ステップインボタンを押下すると、関数の中に移動する。
ステップアウトボタン
止まっている箇所が関数内の場合、呼び出されている箇所へ移動する。
実行
関数内でステップアウトボタンを押下する。
呼び出し元へ移動する。
再起動ボタン
実行途中の処理を中断し、再起動する。
停止ボタン
実行中の処理を停止する。
変数の値を変更する方法
デバッグ中に変数の値を変更する場合、以下の手順で変更可能。
変数due_dateの値を書き換える
①due_dateに値が入っている箇所でブレークポイントを設置
due_date変数には’2023-07-14’が格納されている。
②デバッグコンソールを使用して値を書き換える
デバッグコンソールタブを開き、以下のようにdue_dateの値を書き換える。
Enterを押すと、値の書き換えに成功する。
実行確認
想定通り、日付の不正な値チェックエラーとなった。