php开发,你是如何做调试的,希望看到此问答的PHPer都留个言

做个 PHP 开发调试问卷调查

背景

php 是解释执行语言,因而并不能像一般编译类语言能直接在 IDE 下开启断点调试,因而 PHPer 的调试分为:

  1. 靠人脑
  2. 封装个含有 print_r()、 die() 打印输出函数; 或 composer require symfony/var-dumper 引入 dump()。( laraval框架下可用dd() )
  3. 开启 Xdebug 扩展,在 IDE 下断点调试

简单情况下,其实什么调试方式都行,但要是我们工作中阅读与写代码时常需要调试,我们还能不注重调试效率吗?

参与调查

为节省愿意参与问卷调查 PHPer 的时间,与方便查看评论,定下回答格式:
第一个问答:调试方式

第一行:我的调试方法:主调试方法(可加:辅调试方法)
第二行:理由 或 推荐使用何种调试方法

另外加个,是否必要开启 Xdebug 的断点调试,回答格式:
第二个问答:是否必要用 Xdebug 开启断点调试

第一行:xdebug: -1 或 0 或 1 (-1.根本不需要 0.可有可无 1.必要)
第二行:理由:理由说明

以上,你可以只回答一个,如果两个都回答,中间用空行把两者隔开下,第一个是调试方式,第二个是否必要用 Xdebug 开启断点调试。

感谢你的参与~

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 40

xdebug: 1

一劳永逸

2年前 评论
aab

我个人的情况: 开发环境 99% 使用 dump, dd 1% 使用 xdebug

2年前 评论

xdebug在找一些库的问题的时候或者追踪代码嵌套层数很多的非常好用,一般问题框架自身的debug功能和dump打印功能足够使用了。xdebug必须装,但是不是所有问题都需要使用xdebug。比如我在使用pay这个扩展做微信支付的时候,它的错误提示很简单,简单到不会把微信的错误信息返回给我,使用xdebug就能轻松追踪到。当前你愿意去读源码,里面找打印出来也是可以的。类似 Array to string conversion是没必要使用的。

在日常中,开发环境虽然安装了xdebug了,但我的使用频率并不是很高。

2年前 评论

我的调试方法:xdebug

理由:高效快捷;若用 dump, dd 还要在需要的代码处加上,调试完再删除…

xdebug: 1

理由:自从使用后,就回不去了,谁用谁知道,哈哈哈;对于容器框架,在 xdebug 帮助下,你可以清晰观察到当前容器内的参数,想去研究它时,可以做到更快更直白知道它干了什么怎么做到的

2年前 评论

PHP STORM 几乎 0 配置,装个 Xdebug 就算上网络因素,也只需要 10 分钟,尤其是在现代化框架的加持下, Xdebug 带来的受益远大于直接打印。

如果只是开发过程中需要看看数据,那打印基本上也够用了,但是如果要复杂的调试,那还是得用 Xdebug。

2年前 评论

print_r(),var_dump, echo 打印简单的,看心情使用; 当涉及到多个类时,就用xdebug

2年前 评论

用的99%都是dd,xdebug愣是配置不来

2年前 评论
Complicated 2年前

我们是分场景来调试的。
正式场:全部都是看阿里云的SYS日志。
非正式场:API响应多了一个debug字段,里面有上下文信息、手动添加的调试信息,会偶尔看一下SYS日志。

2年前 评论
九霄道长

都用

2年前 评论

自己的代码在99%的情况下 dd就解决了 别人的代码 太长太复杂直接xdebug一劳永逸

2年前 评论

曾经尝试用过xdebug,发现用起来很麻烦,后面放弃了。

如果需要调试,一般是记日志,开发环境记日志级别debug,线上日志级别设置高些,这样互不影响。

如果功能开发完成了,可以去掉debug级别的日志。

2年前 评论
goStruct

逻辑熟悉就dd和日志,不熟悉就xdebug。

2年前 评论

比较陌生或比较长的代码用xdebug,不过不兼容swoole; 熟悉了就 dump exit 了;

2年前 评论

swoole you 自己的调试工具~

2年前 评论
yangweijie

socketlog 自己封装异常 封装调试函数记录数据库 在数据库里看

file

file

2年前 评论

大多数情况用var_dump和file_put_contents调试。xdebug很少用

2年前 评论
orange1994

日志yyds

2年前 评论

xdebug 很强大很方便,配合phpstorm的http request,几乎0配置

2年前 评论

用 xdebug 做断点调试,用 Ray 做变量输出

2年前 评论

基本上就是dump和dd,xdebug调试通了,不会用 :sob:

2年前 评论

debug_backtrace 函数调试或者dump

2年前 评论

配置xdebug,然后就开始靠意念了 :smile:

2年前 评论

dubug现在还不会配置

2年前 评论
blankqwq

两者都用,

1年前 评论

dd( ...vars )或者dump()

1年前 评论

var_dump(1);die;

1年前 评论

print_r 哈哈,我赞同xdebug很强大,但至少现在用的频率很低,可能我维护的项目没那么复杂吧

1年前 评论

90% 情况下使用dd,10% 情况用xdebug

dd,可以快捷定位问题位置,能输出一些可以持久查看的内容,有时候边看数据结构边写代码,就靠他了。

xdebug,对于一些复杂的问题,甚至都不清楚问题出在哪的bug,不抛异常的业务逻辑问题,就用这个了,可以详细看到每个步骤的数据变化,精确定位问题,就是点来点去麻烦了些。

另外,debug=truelaravel自带的debug_trace有时候也很有用

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!