ブレークポイントで止まらない...
PHPを教材で勉強していたところ、うまく動作しない処理があったのでブレークポイントを貼って確認しようと思ったのですが何故か止まらない...
以下の記事を参考にしながら対処してみました。
対処内容
launch.jsonに以下のコードを追加してみました。
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
// 追加
"stopOnEntry": false
},
この追加したコードがどういう意味・意図で追加されているのかわからなかったため、調べてみました。
stopOnEntryとは?
VsCodeの公式ドキュメントには以下のように記載されていました。
https://code.visualstudio.com/Docs/editor/debugging
stopOnEntry- プログラムの起動時にすぐに中断する
これだけだと少し分かりにくいので、ChatGPTにも聞いてみました。
ChatGPTに聞いてみた!
こういう小難しい説明はChatGPTを使うと分かりやすくなります。
学習にも活かしていきましょう。
stopOnEntryとは?
プログラムが「最初に動き出す瞬間で一時停止する」ようにする設定です。
Visual Studio Code(VSCode)でデバッグするときに使います。
どういう場面で使うの?
プログラムが始まる前に確認したいことがあるとき
例えば、「最初にどんなデータが用意されているんだろう?」と感じた時に便利。
プログラムが変な動きをするけど原因が分からないとき
プログラムが始まる「最初の一歩」で止めて、どこに問題があるか探れます。
どうやって使うの?
launch.jsonを設定する デバッグを始めるための設定ファイルに、以下のように書きます。
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Start Debugging",
"program": "${workspaceFolder}/app.js",
"stopOnEntry": true
}
]
}
stopOnEntry: true にするだけで、プログラムを「最初の行」で止めます。
デバッグを実行する
VSCodeのデバッグボタン(虫のアイコン)をクリック。
プログラムが始まる前にピタッと止まります。
イメージしやすい例
- プログラムを映画に例えると、stopOnEntryは「映画の再生ボタンを押した瞬間に一時停止する」みたいな感じ。
- あなたは監督として、「最初のシーンで役者がどんなポーズを取っているのか」を確認できます。
ポイント
「stopOnEntry」はデバッグの始めにプログラムを止めてくれる。
初めてプログラムが動き出す「一歩目」をチェックするのに便利。
設定は stopOnEntry: true を追加するだけ。
まとめ
調べてみましたが、基本的にstopOnEntryはfalseで問題なさそうです。
まだ腹落ちしていないところも多いですが、なんとなくイメージは掴めましたね。
レベルが上がってさらに追記できればこの記事も更新していこうと思います。