![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
PHP调试器
PHP调试器设计和实现
breaksoftware
这个作者很懒,什么都没留下…
展开
-
跨平台PHP调试器设计及使用方法——界面设计和实现
一个优秀的交互设计往往会影响一个产品的命运。在设计这款调试器时,我一直在构思这款调试器该长什么样子。简单、好用是我设计的原则,于是在《跨平台PHP调试器设计及使用方法——立项》一文中,我给出了一个Demo。之后实现的效果也与之变化并不大。(转载请指明出于breaksoftware的csdn博客) 在《跨平台PHP调试器设计及使用方法——立项》一文中,我阐述了该款调...原创 2016-11-03 18:34:15 · 1768 阅读 · 0 评论 -
跨平台PHP调试器设计及使用方法——使用
经过之前六篇博文的分析和介绍,大家应该对这套调试器有个初步的认识。本文我将讲解它的使用方法。(转载请指明出于breaksoftware的csdn博客) 上图是该软件界面的布局,我们之后的讲解也将围绕着这些功能展开。文件夹管理 在查看一个功能代码前,我们往往需要知道其逻辑所在的路径。文件夹管理功能就是提供给用户设置代码逻辑路径的地方。用户可...原创 2016-11-03 18:44:44 · 1307 阅读 · 0 评论 -
跨平台PHP调试器设计及使用方法——探索和设计
在《跨平台PHP调试器设计及使用方法——立项》一文中,我确定了使用xdebug作为调试器插件部分的基础组件。xdebug提供了一个远程调试的功能(相关资料可以详见https://xdebug.org/docs/remote),我们这个项目便是基于这个功能实现的。(转载请指明出于breaksoftware的csdn博客) 远程调试是基于网络传输方式进行交互的一种调试...原创 2016-10-13 18:21:54 · 1681 阅读 · 0 评论 -
跨平台PHP调试器设计及使用方法——通信
首先引用《跨平台PHP调试器设计及使用方法——探索和设计》中的结构图(转载请指明出于breaksoftware的csdn博客) 本文要介绍的是我们逻辑和pydbgp通信的实现(图中红框内内容)。 设计通信之前,我需要先设计一种通信协议,其实就是一个数据打包和解包的协议。因为我们的数据非常简单,所以只是用“”长度+数据“”的结构。我们规定一个包...原创 2016-10-13 21:03:17 · 1218 阅读 · 0 评论 -
跨平台PHP调试器设计及使用方法——协议解析
在《跨平台PHP调试器设计及使用方法——探索和设计》一文中,我介绍了将使用pydbgp作为和Xdebug的通信库,并让pydbgp以(孙)子进程的方式存在。《跨平台PHP调试器设计及使用方法——通信》解决了和pydbgp通信的问题,本文将讲解和pydbgp通信协议的问题。(转载请指明出于breaksoftware的csdn博客) 和Xdebug的通信协议不同,和p...原创 2016-10-16 22:49:36 · 1273 阅读 · 0 评论 -
跨平台PHP调试器设计及使用方法——高阶封装
在《跨平台PHP调试器设计及使用方法——协议解析》一文中介绍了如何将pydbgp返回的数据转换成我们需要的数据。我们使用该问中的接口已经可以构建一个简单的调试器。但是由于pydbgp存在的一些问题,以及调试器需要的一些高级功能,我们还需要对这些接口进行组合和封装。(转载请指明出于breaksoftware的csdn博客) 首先我们需要做的便是一个简单的状态机。在前...原创 2016-10-27 21:14:43 · 1031 阅读 · 0 评论 -
跨平台PHP调试器设计及使用方法——拾遗
之前七篇博文讲解了跨平台PHP调试器从立项到实现的整个过程,并讲解了其使用方法。但是它们并不能全部涵盖所有重要内容,所以新开一片博文,用来讲述其中一些杂项。(转载请指明出于breaksoftware的csdn博客)触发调试的方法 Xdebug提供了两种调试方式。一种需要我们在触发调试的URL中新增XDEBUG_SESSION_START或XDEBUG_SESS...原创 2016-11-03 18:45:14 · 1650 阅读 · 0 评论 -
跨平台PHP调试器设计及使用方法——立项
作为一个闲不住且希望一直能挑战自己的人,我总是在琢磨能做点什么。自从今年初开始接触PHP,我也总想能在这个领域内产生点贡献。那能做点什么呢?我经常看到很多phper说自己设计了一个什么框架,或者说自己搭建了一个什么系统。虽然这些对自己来说算是一种历练,但是这些对更多的人来说可能并没太多帮助。而我希望我能做的是可以帮助到更多人的东西。于是就有了标题中这个项目的立项。(转载请指明出于b...原创 2016-10-12 19:51:08 · 1099 阅读 · 0 评论