开启 Debug 准备
Debug 快捷键
安装X-Debug
参考另一篇文章
认识Debug的断点
断点类型 | 功能 |
行断点 | 断点打在代码所在的行上。执行到此行时,会停下来。 |
方法断点 | 断点设置在方法的签名上,默认当进入时,断点可以被唤醒。也可以设置在方法退出时,断点也被唤醒。 |
字段断点 | 在类的属性声明上打断点,默认对属性的修改操作进行监控。 |
条件断点 | 符合条件表达式时,该断点生效。 |
异常断点 | 对异常进行跟踪。如果程序出现指定异常,程序就会执行断点,自动停住。 |
线程调试 | 多线程使用。 |
强制结束 |
查看不同网络请求方式的请求内容
挂载在php自带的全局变量_GET中
实用小技巧
xdebug是通过在浏览器请求头部的Cookie中新增下图中的字段实现debug的。所以可以通过在postman等接口调试工具中加入这个Cookie来简化debug的流程。
tips
有时候手贱在Debug模式下会刷新很多次,然后发现项目一直卡住了。就算关闭也没有用,这个Debug的机制问题,x-debug每次刷新都会请求后端服务器,所以刷几次就缓存了几个debug请求。
还有就是断点位置的问题,天真的我以为断点打在那里都会响应的。首先有些变量是有很多行,断点不打在变量名那里是不会触发的。
然后就是判断的条件,有时候断点打在判断条件里面,不符合判断条件就不会触发断点,但是断点的标志显示着这段代码已经执行过了,这一开始给我带来了困扰。
for循环的问题,断点没有在循环之内是无法触发循环debug效果的。
elementUI的remote-method并不会触发debug,因该是请求的时候没有上面说的特殊请求头。