0
0

More than 3 years have passed since last update.

vscodeでxdebugでブレークポイントがうまく止まってくれない

Posted at

はじめに

MAMPを使用して環境構築しました。
バージョン
PHP: 7.4.12

vscodeでソースコードを読み込んで実行しています。

xdebugを使うための設定

PHPのデバックツールにxdebugというものがあります。
MAMPをインストールした時点でxdebugもインストール済みという記事もありましたが、自分の場合はxdebugが入っていなかったので、手動でインストールしました。xdebugのインストールについては今回は割愛いたします。

xdebugはインストールしただけでは正常に動作しません。

まず、phpiniというPHPの設定ファイルに次のような追記が必要です。

[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_connect_back = 1
xdebug.remote_port = 9001
zend_extension = /Applications/MAMP/bin/php/php7.4.12/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so

もしかしたら、いらない設定も入っているかもしれませんが、 念の為自分が成功した設定状況をそのまま記載しています。

以下は補足説明になります。

xdebug.remote_port = 9001 

この箇所は、9000がいいという意見や、9001の方がいいという意見がありました。自分は9001でやりましたが、9000でも大丈夫かもしれません。

zend_extension = /Applications/MAMP/bin/php/php7.4.12/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so

この箇所は、MAMP内のxdebug.soというファイルまでのパスを入力します。
私が使っている時点(2021/6/24)では、上記のパスにありました。
パス中の php7.4.12 の部分は、自分が使うPHPのバージョンを確認して入力します。

本来はこの設定で動くはずなのですが、自分の場合はこれだけではブレークポイントで止まってくれませんでした。

ブレークポイントで止まってくれない問題

自分の場合、以下の方法で正常に作動しました。

launch.jsonに

"stopOnEntry": true

という一文を入れます。これだけでした。

最終的にlaunch.jsonの中身はこうなりました。

"version": "0.2.0",
  "configurations": [

    {
      "name": "Listen for Xdebug",
      "type": "php",
      "request": "launch",
      "port": 9001,
      "stopOnEntry": true
    }
  ]

xdebugで同じような点で躓いている方の参考になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0