V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pouta
V2EX  ›  PHP

大家都是怎么调试代码的?

  •  1
     
  •   pouta · 2016-10-22 21:27:27 +08:00 · 4081 次点击
    这是一个创建于 2956 天前的主题,其中的信息可能已经有所发展或是发生改变。
    27 条回复    2016-10-24 22:24:12 +08:00
    zhuangzhuang1988
        1
    zhuangzhuang1988  
       2016-10-22 21:34:53 +08:00 via iPad
    Ide
    hanxiV2EX
        2
    hanxiV2EX  
       2016-10-22 21:42:13 +08:00 via iPhone
    log
    tomwei7
        3
    tomwei7  
       2016-10-22 21:42:42 +08:00
    简单粗暴点就直接 print xxx
    cdwyd
        4
    cdwyd  
       2016-10-22 21:43:37 +08:00 via Android
    print echo
    JulyXing
        5
    JulyXing  
       2016-10-22 21:56:33 +08:00
    xdebug error_log() var_dump()
    jimzhong
        6
    jimzhong  
       2016-10-22 21:58:56 +08:00
    小的项目就 print ,比较复杂的 log
    pouta
        7
    pouta  
    OP
       2016-10-22 22:11:23 +08:00 via Android
    我是写一点调试一点 请问这种做法正确吗?
    xiaoc19
        8
    xiaoc19  
       2016-10-22 22:13:40 +08:00
    写的过程 会设置好 debug 模式的 log
    然后关键地方会预留 log
    遇到问题 直接看 log
    看不出来 就断点
    tanteng
        9
    tanteng  
       2016-10-22 22:16:19 +08:00   ❤️ 2
    1.简单粗暴的方式打印到页面
    2.框架如果支持 composer ,如 Laravel 有个很好的 debug 工具
    3.日志
    4.xdebug 断点
    5.单元测试
    think2011
        10
    think2011  
       2016-10-22 22:39:12 +08:00
    前端,少不了 chrome 开发者工具
    hemingway
        11
    hemingway  
       2016-10-22 22:41:18 +08:00 via iPhone
    gdb
    lcsoft
        12
    lcsoft  
       2016-10-22 23:12:56 +08:00
    - printf()
    - IDE 自带的调试工具
    - valgrind
    xiahei
        13
    xiahei  
       2016-10-22 23:36:20 +08:00
    print
    PEP4JASON
        14
    PEP4JASON  
       2016-10-22 23:36:34 +08:00
    脑补 意念 debug
    GGGG430
        15
    GGGG430  
       2016-10-22 23:49:53 +08:00
    @tanteng
    1. echo,exit / var_dump / dd
    2. laravel-debugbar [已放弃]
    3. laravel > storage/logs/*.log
    4. phpstorm + xdebug + chrome plugin[xdebug helper] [推荐]
    5. phpunit

    帮你补充, 微笑脸.jpg
    miketeam
        16
    miketeam  
       2016-10-23 00:26:11 +08:00 via iPhone
    log ?一般低级错误能调试出来。有些 bug 和数据结构或者硬件性能有关,这就要经验了
    jininij
        17
    jininij  
       2016-10-23 02:07:54 +08:00 via Android
    每一个方法都做好了边界判断,所以经常连续写几百行才想起来运行一下。逻辑比较复杂的,就在一个单独的文件里,硬编码参数, print 打印一下结果。跑通了,才用一个 function 包起来,拷回去。
    zhouxuchen
        18
    zhouxuchen  
       2016-10-23 02:13:48 +08:00 via iPhone
    装个 jsonview , echo json_encode()
    chaegumi
        19
    chaegumi  
       2016-10-23 07:09:40 +08:00
    var_dump();
    mingyun
        20
    mingyun  
       2016-10-23 12:03:10 +08:00
    服务器搭建一个 kibana ,出错了会有错误提示
    tanteng
        21
    tanteng  
       2016-10-23 12:03:20 +08:00
    @GGGG430 debugbar 为什么已废弃
    sablib
        22
    sablib  
       2016-10-23 18:55:07 +08:00
    log
    二分
    hellodigua
        23
    hellodigua  
       2016-10-24 09:17:44 +08:00
    @think2011 只会用 console.log 哭晕
    alouha
        24
    alouha  
       2016-10-24 10:33:29 +08:00
    console.log()
    pouta
        25
    pouta  
    OP
       2016-10-24 12:36:51 +08:00 via Android
    @alouha JavaScript
    printempw
        26
    printempw  
       2016-10-24 22:22:35 +08:00
    Laravel 自带的帮助函数 dd()
    printempw
        27
    printempw  
       2016-10-24 22:24:12 +08:00
    哎呀没看清,原生 PHP 的话一般是 var_dump(); exit; 过来的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   991 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:16 · PVG 05:16 · LAX 13:16 · JFK 16:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.