大家用 Xdebug 调试 PHP 吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tanteng
V2EX    PHP

大家用 Xdebug 调试 PHP 吗?

  •  1
     
  •   tanteng 2015-07-22 22:11:48 +08:00 7872 次点击
    这是一个创建于 3791 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一直都是用echo,var_dump在页面上输出调试PHP代码,周围同事也都是,那么大家用Xdebug工具调试PHP吗,有没有必要

    第 1 条附言    2015-07-23 15:38:18 +08:00
    第 2 条附言    2015-07-23 15:38:55 +08:00
    ![Alt text](http://tantengwx-wx.stor.sinaapp.com/xdebug.png "Optional title")
    第 3 条附言    2015-07-23 15:39:42 +08:00
    怎么不能插入图片,http://tantengwx-wx.stor.sinaapp.com/xdebug.png,装了xdebug,调试复杂的程序会简单多了。。但是不复杂的还是echo反而快一点
    第 4 条附言    2015-07-24 17:40:50 +08:00
    太好了,除了调试,我现在用Xdebug看代码了,很方便。
    第 5 条附言    2015-07-31 10:38:17 +08:00
    但是在shell脚本里面不方便调试
    46 条回复    2015-07-24 13:50:05 +08:00
    kungfuchicken
        1
    kungfuchicken  
       2015-07-22 22:23:55 +08:00   1
    一直用 phpstorm + xdebug 断点调试... 可以看代码执行顺序, 变量内容, 无需echo, var_dump
    kurotokiya
        2
    kurotokiya  
       2015-07-22 22:47:26 +08:00 via Android
    不用。。。
    yxzblue
        3
    yxzblue  
       2015-07-22 22:48:08 +08:00
    不用
    l12ab
        4
    l12ab  
       2015-07-22 22:51:12 +08:00
    偶尔用,但有时候必须关闭,否则页面半天打不开
    ekeyme
        5
    ekeyme  
       2015-07-22 23:11:33 +08:00
    litt7e
        6
    litt7e  
       2015-07-22 23:20:53 +08:00
    用过阵子,切换来切换去,发现还不如直接打印输出
    自己写个debug函数就行
    mopvhs
        7
    mopvhs  
       2015-07-22 23:32:23 +08:00


    配合PhpStorm特别好用
    vinsony
        8
    vinsony  
       2015-07-22 23:41:27 +08:00
    一直print_r
    vibbow
        9
    vibbow  
       2015-07-23 00:03:51 +08:00
    难道LZ不用IDE的么......
    TF
        10
    TF  
       2015-07-23 00:19:52 +08:00
    mac 上之前用 MAMP 用 echo 。。出是全白
    konakona
        11
    konakona  
       2015-07-23 01:19:05 +08:00
    你如果开发的框架里不怎么用namespace你是可以不用IDE调试..不然的话离不开。
    gdtv
        12
    gdtv  
       2015-07-23 02:06:39 +08:00
    用过一下,经常导致apache进程占用cpu 100%,后来不用了
    mahone3297
        13
    mahone3297  
       2015-07-23 06:44:26 +08:00
    echo,var_dump足以。。。
    anubiskong
        14
    anubiskong  
       2015-07-23 06:56:18 +08:00
    可怜的php, 太完美了, 所以连对debug工具都这么知足
    TangMonk
        15
    TangMonk  
       2015-07-23 08:53:43 +08:00
    楼上又再高级黑了。。。
    blue7wings
        16
    blue7wings  
       2015-07-23 09:09:23 +08:00
    插楼问一句,我想用xdebug+phpstorm调试,但是我用的Vagrant这应该怎么配置?
    hobart
        17
    hobart  
       2015-07-23 09:13:16 +08:00
    一直var_dump
    CuminLo
        18
    CuminLo  
       2015-07-23 09:14:51 +08:00
    一直var_dump
    cz208209
        19
    cz208209  
       2015-07-23 09:17:33 +08:00
    一直var_dump
    br00k
        20
    br00k  
       2015-07-23 09:25:51 +08:00
    @blue7wings remote debug 我在Mac下远程debug Linux没问题。windows不行,不知道啥原因。
    my101du
        21
    my101du  
       2015-07-23 09:27:06 +08:00
    ThinkPHP 自带的 trace 和 dump 函数特别好用。。。。
    会不会有人说我low啊。
    66beta
        22
    66beta  
       2015-07-23 09:28:04 +08:00
    var_dump 默默路过
    dai269619118
        23
    dai269619118  
       2015-07-23 09:29:37 +08:00
    PhpStorm Xdebug 真的是特别好用
    特别是程序调用其他文件的时候直接跳过去
    ajax请求直接打上断点就好调试了
    rogeecn
        24
    rogeecn  
       2015-07-23 09:39:00 +08:00
    为什么不用,有些问题看不出来只能一步一步跟,那些说着var_dump就够的人,要不就是牛逼人BUG极少的,要不就是定位问题靠人肉F5的。
    jevonszmx
        25
    jevonszmx  
       2015-07-23 09:48:27 +08:00
    @rogeecn

    同意你。

    不用debug工具的人,肯定是没做过复杂的程序,要不就是队友是大牛的人。

    要是你遇到一个流程乱写的、命名混乱的好队友(接手过注释各种吐槽,就没写功能的,大哭),公司用的框架复杂、组织混乱的,我就不信可以慢慢用var_dump调。。。
    nisnaker
        26
    nisnaker  
       2015-07-23 09:54:09 +08:00
    一直var_dump
    ruchee
        27
    ruchee  
       2015-07-23 10:07:50 +08:00
    不用,exit + var_dump 走起
    anubiskong
        28
    anubiskong  
       2015-07-23 10:46:16 +08:00
    @TangMonk 为啥说"又"
    hdjdcyl
        29
    hdjdcyl  
       2015-07-23 11:34:16 +08:00 via iPhone
    爱不释手
    tushiner
        30
    tushiner  
       2015-07-23 11:57:59 +08:00
    遇到复杂的算法问题我才debug,无脑堆代码项目的时候我就不管了。
    lyragosa
        31
    lyragosa  
       2015-07-23 12:07:28 +08:00
    如果是调试带ajax的东西 xdebug会比较麻烦……
    laobaoabc
        32
    laobaoabc  
       2015-07-23 12:59:03 +08:00
    @mopvhs 真的吗
    jsq2627
        33
    jsq2627  
       2015-07-23 13:32:35 +08:00
    Xdebug 可不是只是用来看变量的哦~

    Stack Trace, Function Trace, Code Coverage Analyse, Profiling

    不用的人一定没干过上面这些事情。
    tanteng
        34
    tanteng  
    OP
       2015-07-23 15:38:01 +08:00
    b821025551b
        35
    b821025551b  
       2015-07-23 15:51:50 +08:00
    var_dump + print_r 路过
    zsx
        36
    zsx  
       2015-07-23 16:04:08 +08:00
    @jevonszmx 为了定制AuthPuppy,我用var_dump调过这玩意,算是调下来了。随便拿个变量出来都是五六层类的扩展,全局变量或单例类满地跑,代码结构乱七八糟,占用内存巨大 + 运行速度巨慢。大概是任意var_dump一个变量浏览器都能哗啦啦弄出几十万行的水平吧。

    那五个小时简直是煎熬。
    bgcolor0325
        37
    bgcolor0325  
       2015-07-23 16:27:00 +08:00
    @my101du 会,我们也在用TP,自己都嫌弃自己。
    crazystory
        38
    crazystory  
       2015-07-23 19:20:39 +08:00
    @blue7wings
    xdebug.remote_connect_back=on 就能调试了
    默认是off的
    jevonszmx
        39
    jevonszmx  
       2015-07-23 22:01:04 +08:00
    @zsx

    正常,很多开源的系统global内容吓死人,比如禅道,随便var_dump就是浏览器卡死的结果。。。
    tinyhill
        40
    tinyhill  
       2015-07-23 22:03:22 +08:00
    var_dump
    zsx
        41
    zsx  
       2015-07-23 22:15:22 +08:00
    @jevonszmx 倒也不是开源的锅,虽然我们这套系统GLOBAL打出来也吓死人(单例模式,直接把模板类和内容、用户类和内容、数据库类和内容、配置类和内容、语言、插件都放在那个类里),然而至少各类数据都只有一份,速度也挺快(60W数据首页60ms)。那套系统倒好,神了,extend了五六层之外,数据也有五六份……速度至少500ms+,我也不知道是怎么做到的
    jevonszmx
        42
    jevonszmx  
       2015-07-23 22:19:25 +08:00
    @zsx

    毕竟宇宙最好语言~~没的黑。。。XD
    jziwenchen
        43
    jziwenchen  
       2015-07-23 23:26:39 +08:00
    打印数据 分析问题就好了
    pubby
        44
    pubby  
       2015-07-23 23:39:06 +08:00
    偶尔会用xdebug调试,主要是一些奇葩问题需要追到框架里面去找原因,不用调试器太麻烦。

    线上也有一台机器是开了xdebug的,主要用来生成profile报告,分析优化性能用。
    hydyy
        45
    hydyy  
       2015-07-24 10:30:19 +08:00
    刚开始学php, 习惯性debug, 配置nginx + php + xdebug + mysql 花了一天时间,不过再去配置可能只需要一个小时。 个人感觉,debug还是有必要的,读代码的时候
    tanteng
        46
    tanteng  
    OP
       2015-07-24 13:50:05 +08:00
    @lyragosa 调ajax还是手动打印,在浏览器js监控
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1226 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 16:59 PVG 00:59 LAX 08:59 JFK 11:59
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86