English | 中文
另一个 Swoole 调试器。文档
注意:如果你使用Swoole\Server,请把worker_num
设置为1,否则断点可能不会生效。
你需要先安装boost
库。
macOS:
brew install boost
Ubuntu:
apt-get install libboost-all-dev
CentOS:
yum install boost boost-devel
phpize --clean && \
phpize && \
./configure && \
make clean && \
make && \
make install
设置 php.ini 文件:
zend_extension=yasd
查看扩展信息:
php --ri yasd
zend_extension=yasd
yasd.debug_mode=remote
yasd.remote_host=127.0.0.1
yasd.remote_port=9000
zend_extension=yasd
yasd.debug_mode=cmd
所有命令都支持优先级模糊匹配。
如li
、lis
、list
都等于l
,查看源码
php -e test.php
l
b 文件的绝对路径 需要断点的行号
默认会将断点信息保存在缓存文件 .breakpoints_file.log
中;
你也可以通过修改 php.ini 指定此文件名,如:
yasd.breakpoints_file=yasd.log
如果缓存文件存在,当启动调试时,文件中的断点信息会被自动加载;
d 文件的绝对路径 断点所在的行号
如果设置或者删除断点时,不指定文件绝对路径,默认是当前停留的文件。
我们可以监控变量变化或条件,例如:
watch a
watch a > 10
watch name == swoole
r
n
遇到函数的时候,不会进入函数内部
s
遇到函数的时候,会进入函数内部
f
bt
i
c
q
p
变量名字不需要带$
,例如:
p a
p this
p this->prop
le