PHPカンファレンス2020にてLTした際の資料です。
PhpStormにてPHPのXDebugのブレークポイントを使ったデバッグのやり方について紹介しています。
View Slide
自己紹介 名前:つざき (Twitter @820zacky) PHPer歴:1.5年 所属: 仕事:
ブレークポイントを使ってデバッグをしたこと ありますか?
Discordで アンケートを取ってみました (ご協力ありがとうございました)
※PHPCon参加者にアンケート(33人が回答)
※DiscordにてPHPCon参加者にアンケート(33人が回答) 「使ったことがない」 「ほとんど使わない」 が50%以上
意外と使ったことない人が多くて安心しました(笑)
僕も正直2、3回しか使ったことないです
私 なりたい
PhpStormについての話ですそれ以外のIDEの人はすみません
ブレークポイントってなに?
ブレークポイントってなに?- デバッグ作業においてプログラムの実行を一時停止させる箇所のこと
今までの処理の流れ ⬆ ⬆ 変数の中身 (実行中に書き換え可能)⬇コードをー行ずつ実行したりできる
ブレークポイント3種類もあるよ
1. 行ブレークポイント- 行に設定するブレークポイント
2. メソッドブレークポイント- メソッドの一行目で止まるブレークポイント
3. 例外ブレークポイント- 例外クラス名を指定する- ⚡マークが目印
便利そうなオプション
ブレークポイントのオプションを表示する方法- ブレークポイントを右クリックすればOK- 他の方法もある
1. 条件 (Condition)- 条件式に一致するときだけブレークポイントが有効になる- 何度も実行される処理において、特定のときだけ停止したい時に便利そう
2. ログ (Log)- 任意のメッセージをコンソール上に表示できる- ブレークポイントの位置、スタックトレースも出せる- 便利そう
3. 中断 (Suspend execution)- オフにすると、プログラムの実行を一時停止しなくなる- ログ機能との組み合わせで使うと良さそう
他にも便利そうなオプションがあるが割愛- 使用可能 (Enabled)- 一度ヒットしたら除去する( Remove once hit )- 次のブレークポイントに到達するまで無効にする(Disable until hitting the following breakpoint)
1. 使用可能 (Enabled)- ブレークポイントは消さないまま、ブレークポイントを無効化できる- これは普通に使いそう
一度ヒットしたら除去する( Remove once hit )- 一度ヒットしたら無効化されます- 一回だけ止めたい時使うと良さそう(そのまま)
次のブレークポイントに到達するまで無効にする- 指定したブレークポイントがヒットしたら、有効化されるブレークポイント’- 複雑なデバッグをするときは使うと便利かもしれない
まとめ- ブレークポイント便利!- 意外といろんなオプションがある!- 全部PhpStormの公式ドキュメントに書いてます!https://pleiades.io/help/phpstorm/using-breakpoints.html