背景
printでデバッグしていたが、コード量が多い場合は非効率であり、VCコードで手軽に試せそうだったので試してみた
事前準備
VSコードに拡張機能をインストール
デバック実行
- デバックしたいファイルを開く
- ファイル実行を一時停止したいポイント(解析を開始したいポイント)にブレークポイントを設定
デバッグ実行中の機能
## デバッグ中に出てくるバーの使用法
左からContinue,Step Over, Step Into, Step Out, Restart, Stop
Continue(F5)
次のブレークポイントまでプログラムを実行。
複数ブレークポイントを設定しているときに使用する。
Step Over(F10)
プログラムを一行だけ実行
Step Into(F11)
関数が呼ばれるとその中に入ってプログラムを実行
Step Overでは呼び出している関数の中身のデバッグはSkipする
Step Out(Shift + F11)
入っている関数から抜け出す
今いる関数の処理を最後までSKipしたい場合。
Restart(Cmd⌘ + Shift + F5)
一度プログラムの実行をやめて、再び実行を始める
Stop(Shift + F5)
プログラムの実行を終了する
データインスペクション
左側の窓で実行行の関数の変数の値が見れる
- 呼び出し元の関数の変数は見えないので注意。
- 下記の場合main.pyで print_person_info(person_dict):を呼び出しているが、main.pyのローカル変数は表示されていない。
- ウォッチ式もローカル変数しか表示できない
デバッグコーンソール
変数がたくさんあって、左側の窓で確認しにくい場合はデバッグコンソールに見たい変数値を入力することで閲覧可能
ウォッチ式
左側のウォッチ式で見たい変数を絞りたい場合や、その変数に対してlenやtype、加算(a+b)、減算(a-b)などデバッグしたい場合も確認することが可能。
デバッグ解析するときはこれメインになりそうな気がする。
launch.jsonの使用方法
後日調査予定(引数が必要な場合もこれで設定する模様)
参考にした記事
https://qiita.com/Shunkicreate/items/f078b392e31b0c122392
https://laid-back-scientist.com/debug-vscode