ひとりでのアプリ開発 - fineの備忘録 -

ひとりでアプリ開発をするなかで起こったことや学んだことを書き溜めていきます

Python - VSCodeを使ってデバッグする

初めに

 VSCodeにあるデバッグ機能を紹介します。ブレークポイントだけでなく、ヒットカウントやログ、条件を追加することができ、効率的なデバッグをするのに役立ちます。

VSCodeを使ってデバッグする方法

準備

 VSCodeを使ってPythonデバッグするには、Python拡張機能をインストールする必要があります。


ブレークポイントを追加

 行番号の左側をクリックすることで、ブレークポイントを追加、削除することができます。

実行とデバッグ

 VSCodeの左側にある上の画像のアイコンをクリックすると、Run and Debug ボタンが現れるので、これをクリックすると、実行とデバッグができます。初回は何のデバッグをするのか選択する必要があるので、今回は Python Fileを選びます。

 左側には、現在の変数の値が表示され、コード部分には、停止している位置が表示されています。

アイコン 説明
Continue
次のブレークポイントに移る。
Step Over
現在の行を実行し、次の行で実行を停止する。
Step Into
現在の行を実行し、次の行で実行を停止する。その行が関数、メソッドの場合は関数、メソッドに入り、実行を停止する。
Step Out
現在実行している関数、メソッドが終了するまでステップ実行を継続する。
Restart
再度、実行とデバッグをする
Stop
実行を中止する

他のポイントについて

 行番号の左で左クリックではなく、右クリックをすると次のように表示されます。

 一番上の選択肢は、左クリックした場合と同じブレークポイントが追加されます。他の選択肢では、ログポイントやヒットカウントといった機能を持ったポイントを設置することができます。

Expression

 Expression は条件式が true のときに実行を停止することができます。


ヒットカウント

 ブレークポイントを右クリックし、Edit Breakpoint をクリックすると、機能を変更することができます。

 ヒットカウントでは、その行を指定した回数訪れたタイミングで実行を停止することが可能になります。

 画像のように回数を指定し、Enterキーを押すと設定ができます。

 今回は4が指定されているため、4回目のループの結果が現れていることが分かります。

ログメッセージ

 ログメッセージを表示させることもできます。

 表示したいログメッセージを上の画像のように追加します。中括弧内に変数を記述することで変数の値を表示させることができます。

 なお、ログメッセージを追加したポイントは赤丸ではなく、◇が表示されます。


機能の併用

 上の画像のプルダウンは変更をしても設定が保持されます。

 例えば、上の画像のようにログメッセージとヒットカウントを併用することができます。

説明に使用したコード

# リストと変数を初期化
numbers = [1, 2, 3, 4, 5]
total = 0
average = 0

# リストの合計値を計算
for number in numbers:
    total += number

# 平均値を計算
average = total / len(numbers)

# 結果を出力
print(f"合計値: {total}")
print(f"平均値: {average}")

備考

 Triggered Breakpoint(Wait for Breakpount)の役割がよくわかりませんでした。分かったら追記します。