【ぶれーくぽいんと】

ブレークポイント とは?

最終更新:
💡 実行を止めて、その時点の状態を調べる目印

デバッガーに、プログラムの実行を一時停止させる位置や条件を指定するもの。停止中に変数や呼び出し履歴を調べ、続行やステップ実行で原因を探す。指定できる位置や調べられる情報は、言語とデバッガーによる。

📌 このページのポイント
停止した位置と、変数の値を確認コードの説明例1 let count = 0;2 count += 1;3 count += 1;変数count: 1呼出履歴main赤丸の行を実行する前で停止続行やステップ実行で流れを追う条件・到達回数を指定する機能もある調べられる範囲は実行環境による
2回目の加算前でcountが1の、デバッガー画面の模式例です。青はコード、緑は停止中の情報。赤丸は停止位置、橙の背景は現在位置。実際のVS Codeの画面や実行結果を再現した画像ではありません。
ひよこ ひよこ
ブレークポイントを設定すると、何が起きるの?
ペンギン先生 ペンギン先生
指定した位置や条件で実行が一時停止し、デバッガーで状態を調べられるよ。例えば変数の値や呼び出し履歴を見る。確認したら続行できる。すべての変数やメモリが必ず見えるわけではなく、調べられる範囲は実行環境によるんだ
ひよこ ひよこ
赤い丸を置いたのに、止まらないこともある?
ペンギン先生 ペンギン先生
その行を実行していない場合や、デバッガーが登録できていない場合があるよ。VS Codeでは登録できない指定が空の丸になる。実行できるコードがない行や、ソースファイルに対応していない場合などを確認するんだ
ひよこ ひよこ
条件付きなら、ループの途中だけで止められる?
ペンギン先生 ペンギン先生
対応していれば、例えばi == 100のような条件が真のときだけ止められるよ。到達回数を指定する機能もある。変数の値とループの何回目かは別なので、初期値と更新の位置も確認しよう。条件の書き方はデバッガーによるんだ
ひよこ ひよこ
ログポイントは、デバッガーなしで使える?
ペンギン先生 ペンギン先生
ログポイントも、対応するデバッガーの機能だよ。実行を止めず、値などをログへ出せるので、ソースへprint文を追加しなくても調べられる。デバッグできる接続や設定が必要で、すべての拡張が対応しているわけではないんだ
ひよこ ひよこ
停止したら、次のブレークポイントまでしか進めない?
ペンギン先生 ペンギン先生
続行のほかに、ステップ実行があるよ。次の行へ進む、呼び出した関数の中へ入る、今の関数を終えて呼び出し元へ戻る、といった操作で流れを追える。VS Codeでは選んだフレームで変数の表示も変わるんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ブレークポイント」って出てきたら「デバッガーで実行を止め、状態を調べるための位置や条件」と思えばだいたいOK!
📖 おまけ:英語の意味
「Breakpoint」 = 中断点、停止点
💬 breakは中断、pointは点という意味だよ。ここではデバッグで実行を一時停止する指定を指す。CSSで画面幅に応じて表示を切り替える境界にも、同じ名前が使われるんだ

参考資料

← 用語集にもどる