Skip to content

Latest commit

 

History

History
195 lines (131 loc) · 2.28 KB

README-CN.md

File metadata and controls

195 lines (131 loc) · 2.28 KB

English | 中文

yasd

另一个 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

IDE 模式调试

zend_extension=yasd
yasd.debug_mode=remote
yasd.remote_host=127.0.0.1
yasd.remote_port=9000

cmd 模式调试

zend_extension=yasd
yasd.debug_mode=cmd

所有命令都支持优先级模糊匹配。

lilislist都等于l,查看源码

开始调试

php -e test.php

查看源码 list

l

设置断点

b 文件的绝对路径 需要断点的行号

默认会将断点信息保存在缓存文件 .breakpoints_file.log 中;

你也可以通过修改 php.ini 指定此文件名,如:

yasd.breakpoints_file=yasd.log

如果缓存文件存在,当启动调试时,文件中的断点信息会被自动加载;

删除断点 delete

d 文件的绝对路径 断点所在的行号

如果设置或者删除断点时,不指定文件绝对路径,默认是当前停留的文件。

监视点 watch

我们可以监控变量变化或条件,例如:

watch a
watch a > 10
watch name == swoole

运行 run

r

下一步 step over

n

遇到函数的时候,不会进入函数内部

下一步 step into

s

遇到函数的时候,会进入函数内部

跳出当前函数 finish

f

查看调用栈

bt

查看所有断点信息 info

i

继续运行 continue

c

退出 quit

q

打印变量 print

p

变量名字不需要带$,例如:

p a
p this
p this->prop

查看当前所在的协程 level

le