内容简介:SDHelper SDHelper是SwooleDistributed隆重推出的开发者工具,配合最新版本的SD框架可以实现远程断点调试和代码覆盖率检测的功能,无需安装xdebug扩展。 SD远程断点调试 我们打开工具选择SD调试,在右侧默认填写了...
SDHelper
SDHelper是SwooleDistributed隆重推出的开发者工具,配合最新版本的SD框架可以实现远程断点调试和代码覆盖率检测的功能,无需安装xdebug扩展。
SD远程断点调试
我们打开 工具 选择SD调试,在右侧默认填写了连接地址。
需要下载安装最新的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点击连接按钮。连接伤后可以通过输入文件名打开对应文件,通过添加断点按钮来添加断点。
然后点击开始调试
点击开始调试后就不能添加断点了,可以断开调试,重新下断点
我们访问对应的逻辑。
可以看到逻辑已经进入断点处,可以查看当前所有的变量信息,点击继续执行按钮,可以跳转到下一处断点
调试器只会捕获一次请求,也就是说断点只会断在一个请求上,对于其他的请求不会有影响,并发请求时断点只会影响到其中一个请求上。
如果请求结束还想继续捕获的话,可以点击重新捕获按钮,如果想结束调试可以点击结束调试按钮。
远程调试器可以查看当前断点的所有数据,这是var_dump和print_f大法无法替代的优势,而且可以随时打断点不必修改代码,并且只会捕获其中一次的请求,不会眼花缭乱。但是也有限制,不支持自定义进程的调试,代码必须在app目录下才支持远程调试。
代码覆盖率测试
代码覆盖率测试需要启动特殊的命令执行
php start_swoole_server.php coverage
含有2个额外参数
-c 清除上次保存的数据
-d 守护进程运行
coverage启动会对性能有所影响,所以不适合压测。
此时可以叫测试进行全方位的测试,测试结束可以查看测试的代码覆盖率。
没有颜色的代表没有被执行到,颜色越红代表执行的次数越多。
可以通过调用次数排名来查看代码执行次数的排行
如果次数过高需要注意是不是存在大量的循环需要优化,或者出现了死循环。
TCP/WS连接调试!
工具提供了tcp和ws的连接调试,比市面上的工具都会更加好用些
协议二进制数据构建
可以通过工具的Hex数据构建来模拟各类协议的组成,方便理解协议的构成。
SD会不断的成长壮大,为大家提供一个更舒适的开发体验。
git获取:https://github.com/SwooleDistributed/SDHelper-Bin
SwooleDistributed框架 https://github.com/SwooleDistributed/SwooleDistributed
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 浏览器开发者工具详解
- 工具 | Google 开源的,更方便、更友好地帮助开发者编写脚本的工具
- Chrome 72 开发者工具新特性
- ssh工具,开发者必须有所了解
- 最实用的五款开发者工具
- 区块链生态系统的十大开发者必备工具
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Learn Python the Hard Way
Zed Shaw / Example Product Manufacturer / 2011
This is a very beginner book for people who want to learn to code. If you can already code then the book will probably drive you insane. It's intended for people who have no coding chops to build up t......一起来看看 《Learn Python the Hard Way》 这本书的介绍吧!