SwooleDistributed 发布开发者工具 SDHelper

栏目: 软件资讯 · 发布时间: 6年前

内容简介:SDHelper SDHelper是SwooleDistributed隆重推出的开发者工具,配合最新版本的SD框架可以实现远程断点调试和代码覆盖率检测的功能,无需安装xdebug扩展。 SD远程断点调试 我们打开工具选择SD调试,在右侧默认填写了...

SDHelper

SDHelper是SwooleDistributed隆重推出的开发者工具,配合最新版本的SD框架可以实现远程断点调试和代码覆盖率检测的功能,无需安装xdebug扩展。

SD远程断点调试

我们打开 工具 选择SD调试,在右侧默认填写了连接地址。
SwooleDistributed 发布开发者工具 SDHelper
需要下载安装最新的SD框架v3.2.7,找到backstage配置文件打开对应配置

//是否启用backstage
$config['backstage']['enable'] = true;
//是否启用xdebug
$config['backstage']['xdebug_enable'] = true;
//web页面访问端口
$config['backstage']['port'] = 18000;
//提供的ws端口
$config['backstage']['socket'] = "0.0.0.0";
$config['backstage']['websocket_port'] = 18083;
//设置路径
$config['backstage']['bin_path'] = "/bin/exec/backstage";
return $config;

配置中的websocket_port端口即为远程调试端口,backstage.enable和backstage.xdebug_enable均要设置为true。
接下来使用xdebug启动命令来启动框架

php start_swoole_server.php xdebug

也可以添加-d选项,变成守护进程,xdebug命令启动服务器不会额外占用服务器资源,开发调试阶段均可使用该命令来代替start,但是使用xdebug后自动reload和reload命令将失效,更新代码必须重启服务器(根据版本的迭代后期会消除这种美中不足)。

此处的xdebug和xdebug扩展不是同一个,SD的远程断点调试无需安装xdebug扩展。

通过xdebug命令启动服务器后,可以打开SDHelp点击连接按钮。连接伤后可以通过输入文件名打开对应文件,通过添加断点按钮来添加断点。
SwooleDistributed 发布开发者工具 SDHelper
然后点击开始调试

点击开始调试后就不能添加断点了,可以断开调试,重新下断点

我们访问对应的逻辑。
SwooleDistributed 发布开发者工具 SDHelper
可以看到逻辑已经进入断点处,可以查看当前所有的变量信息,点击继续执行按钮,可以跳转到下一处断点
SwooleDistributed 发布开发者工具 SDHelper

调试器只会捕获一次请求,也就是说断点只会断在一个请求上,对于其他的请求不会有影响,并发请求时断点只会影响到其中一个请求上。

如果请求结束还想继续捕获的话,可以点击重新捕获按钮,如果想结束调试可以点击结束调试按钮。

远程调试器可以查看当前断点的所有数据,这是var_dump和print_f大法无法替代的优势,而且可以随时打断点不必修改代码,并且只会捕获其中一次的请求,不会眼花缭乱。但是也有限制,不支持自定义进程的调试,代码必须在app目录下才支持远程调试。

代码覆盖率测试

代码覆盖率测试需要启动特殊的命令执行

php start_swoole_server.php coverage

含有2个额外参数

  • -c 清除上次保存的数据

  • -d 守护进程运行

coverage启动会对性能有所影响,所以不适合压测。
此时可以叫测试进行全方位的测试,测试结束可以查看测试的代码覆盖率。
SwooleDistributed 发布开发者工具 SDHelper
没有颜色的代表没有被执行到,颜色越红代表执行的次数越多。
可以通过调用次数排名来查看代码执行次数的排行
SwooleDistributed 发布开发者工具 SDHelper
如果次数过高需要注意是不是存在大量的循环需要优化,或者出现了死循环。

TCP/WS连接调试!

工具提供了tcp和ws的连接调试,比市面上的工具都会更加好用些
SwooleDistributed 发布开发者工具 SDHelper

协议二进制数据构建

可以通过工具的Hex数据构建来模拟各类协议的组成,方便理解协议的构成。
SwooleDistributed 发布开发者工具 SDHelper

SD会不断的成长壮大,为大家提供一个更舒适的开发体验。

git获取:https://github.com/SwooleDistributed/SDHelper-Bin

SwooleDistributed框架 https://github.com/SwooleDistributed/SwooleDistributed


【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java夜未眠

Java夜未眠

蔡学镛 / 电子工业出版社 / 2003-4 / 20.00元

本书是一本散文集。作为一名资深程序设计师,作者走笔清新面独特,简练俏皮的文字下,是作者对工作,对人生的理性思考。书中收录的文章内容贴近程序员的生活,能令读者产生强烈共鸣。此外,书中的部分文章也以轻松的风格剖析了学习Java技术时的常见问题,并以专家眼光和经验推荐介绍了一批优秀的技术书籍,旨在帮助读者兴趣盎然地学习Java。一起来看看 《Java夜未眠》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

html转js在线工具
html转js在线工具

html转js在线工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换