Visual Studio Code のデバッグ機能

231 Views

December 28, 23

スライド概要

すごい広島 IT初心者の会 [81] 忘年会
2023-12-27

初演 PyCon mini Shizuoka 2021
西本卓也 @24motz / @nishimotz

profile-image

Shuaruta Inc. ウェブアクセシビリティ基盤委員会 (WAIC) NVDA日本語版 すごい広島 IT初心者の会 YAPC::Hiroshima 2024

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Visual Studio Codeのデバッグ機能 2023-12-27 (初演 PyCon mini Shizuoka 2021) 西本卓也 @24motz / @nishimotz 1

2.

Visual Studio Code + Python 拡張 2

3.

デバッグ実行ボタン 使おうとすると設定が始まる 説明は省略 3

4.

メニューとショートカット • F5 : デバッグの開始 • Shift+F5 : デバッグの停止 • F9 : ブレークポイント • F10 : ステップオーバー • F11 : ステップイン • Shift+F11 : ステップアウト 4

5.

ブレークポイント • 関数の実行を止めたいなら中身の1行目がブレークポイント def fizzbuzz(num): print('a') ここは関数が呼ばれるたびに止まる print('b') print('c') print('d') return num for num in range(1, 101): fizzbuzz(num) def の次にここがステップ実行される 5

6.

ブレークポイントを設定 • 行番号の左をクリックして赤いマルをつける (またはF9キー) 6

7.

ブレークポイントで停止した状態 • 継続 / ステップオーバー / ステップイン / ステップアウト / 再起動 / 停止 7

8.

デバッグコンソール • 式を入力すると値を表示できる 8

9.

ウォッチ式 • 毎回デバッグコンソールで表示しなくても 9

10.

条件ブレークポイント • 通過回数(ヒットカウント) • 評価式 10

11.

ログメッセージ : 出力だけ行う • 出力先はデバッグコンソール 11

12.

ステップオーバー • 下の階層に入らないで1行ずつ実行 def fizzbuzz(num): print('a') print('b') print('c') print('d') return num for num in range(1, 101): fizzbuzz(num) 12

13.

リスト内包表記 • ステップオーバーで何回止まる? • 100回 [fizzbuzz(num) for num in range(1, 101)] 13

14.

ステップイン • 下の階層にどんどん入りながら1行ずつ実行 def fizzbuzz(num): print('a') print('b') print('c') print('d') return num for num in range(1, 101): fizzbuzz(num) 14

15.

ステップアウト • ひとつ上の階層に戻るまで実行 def fizzbuzz(num): print('a') print('b') print('c') print('d') return num for num in range(1, 101): fizzbuzz(num) 上の階層で 1行分の処理が 終わった状態 15

16.

組み合わせて使う例 • ブレークポイント設定 → デバッグ開始 → ステップ実行 → 継続 def fizzbuzz(num): print('a') print('b') print('c') print('d') return num for num in range(1, 101): fizzbuzz(num) 1回目はステップインで 下の階層もステップ実行 2回目はステップオーバーして 下の階層に入らない 16

17.

まとめ • 言語が変わってもデバッガの作法は変わらないことが多い 17