VS Codeではlaunch.jsonファイルを使って、デバッグをどのような形で行うかの構成を行えます。その基本的な構成方法や構成可能な項目を紹介。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
前回は[実行とデバッグ]ビューにある[実行とデバッグ]ボタンからデバッグを開始して、Visual Studio Code(以下、VS Code)が提供するデバッグツールバーの使い方や、[実行とデバッグ]ビューに表示される各種情報などを見ました。今回はデバッグ構成について見ていくことにします。
「デバッグ構成」とは、デバッグをどのようにして行うかを指定することです。例えば、デバッグ用にプログラムを新規に起動するとか、最初に実行するファイルをどれにするかとか、デバッグの出力をVS Codeに統合されたターミナルへ送るか、外部のターミナルプログラムに送るかなどを指定します。
これらの構成は「launch.json」という名前のファイルに保存されます。その保存先は、プロジェクトフォルダの直下にある.vscodeフォルダです。そして、このファイルを実際に作成するのが、前回にも見た[実行とデバッグ]ビューにある[launch.jsonファイルを作成します]リンクです。
このリンクをクリックすると、どんな種類のデバッグを行うかのドロップダウンが表示されます。
ここでは[Python File]を選択しましょう。これは前回も見た「現在エディタでアクティブになっているファイルを対象にデバッグを開始する」構成です。そのコードは次のようなものです(コメントは削除してあります)。
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
}
"configurations"属性の下には、複数の構成を記述することも可能です(後で実際に追加してみましょう)。ここでは構成は1つだけで、以下のような要素が指定されています。
launch.jsonファイルが作成されると同時に、[実行とデバッグ]ビューの表示は次のように変わります。
[実行とデバッグ]ビューに表示されているのは、前回にデバッグ実行を開始した後のビューと同じです(ただし、デバッグ実行が始まっていないので、具体的な情報は何も表示されていません)。上部のドロップダウンには上で紹介した"name"属性に指定してあるデバッグ構成の名前が表示されていることにも注目してください。ドロップダウンの左側には[デバッグの開始]ボタンがあります。つまり、ドロップダウンで構成を選んで、[デバッグの開始]ボタンでデバッグを開始するというのが、デバッグ構成を行った後の一般的なデバッグ開始パターンです。
まずは、先ほど作成したデバッグ構成を使って、デバッグを実行してみましょう。コードは前回までに見たものとします。つまり、以下に示す2つのファイルのうち、main.pyをスタート地点としてデバッグを行います。
from mymath import fib, fib_l, fib_m
def main():
print(f'result of {fib.__name__}(10): {fib(10)}')
print(f'result of {fib_l.__name__}(10): {fib_l(10)}')
print(f'result of {fib_m.__name__}(10): {fib_m(10)}')
if __name__ == '__main__':
main()
def fib(n):
if n == 0:
return 0
if n == 1:
return 1
return fib(n - 2) + fib(n - 1)
def fib_l(n):
a = 0
b = 1
if n == 0:
return a
elif n == 1:
return b
for _ in range(n - 1):
a, b = b, a + b
return b
def fib_m(n, memo=None):
if not memo:
memo = {0: 0, 1: 1}
if n not in memo:
memo[n] = fib_m(n - 2, memo) + fib_m(n - 1, memo)
return memo[n]
ここでは以下のようにmain関数呼び出しにブレークポイントを設定しました。
今のところ、作成したデバッグ構成は1つだけなので、[実行とデバッグ]ビューのドロップダウンには[Python: Current File]が表示(選択)されているはずです。先ほども述べましたが、デフォルトの構成ではデバッグ開始時にエディタ領域でアクティブになっているファイルを起動するので、エディタ領域でmain.pyファイルがアクティブになっていることを確認した上で[デバッグの開始]ボタンをクリック(するか、[F5]キーを押すか)すると、デバッグが始まって、以下のようにmain関数を呼び出す直前でプログラムの実行が中断されます。
この後はステップ実行を行いながら、変数の値などを確認していくわけですが、その基本については前回に見たので、ここではデバッグツールバーの[停止]ボタンをクリックするか、[Shift]+[F5]キーを押してデバッグを中止しましょう。
次ページでは、デバッグ構成のカスタマイズについて簡単に見ていきましょう。
Copyright© Digital Advantage Corp. All Rights Reserved.