【VSCode】【Flask】Pythonのデバッグ方法:基本操作から変数の値変更まで

概要

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を押すと、値の書き換えに成功する。

 

実行確認

想定通り、日付の不正な値チェックエラーとなった。

 

スポンサーリンク