1. 安装PHP的xdebug扩展

如果你使用的xampp,无需手动下载php_xdebug.dll扩展文件,因为xampp中的php的扩展目录ext中,已经包含了该扩展文件。只是php.ini配置文件中,默认没有开启xdebug而已。为此,我们需要将其开启,代码如下:

[XDebug]

zend_extension = "E:\xampp\php\ext\php_xdebug.dll"

xdebug.profiler_append = 0

xdebug.profiler_enable = 1

xdebug.profiler_enable_trigger = 0

xdebug.profiler_output_dir = "E:\xampp\tmp"

xdebug.profiler_output_name = "cachegrind.out.%t-%s"

xdebug.remote_enable = 0

xdebug.remote_handler = "dbgp"

xdebug.remote_host = "127.0.0.1"

xdebug.trace_output_dir = "E:\xampp\tmp"

如果你是单独安装的PHP,那么就需要到 xdebug 官网(http://xdebug.org/download.php)下载和PHP版本对应的xdebug扩展,要注意xdebug扩展所适用的PHP版本号、TS(线程安全)版还是NTS(非线程安全)版,以及VC6版本还是VC9版本,这些都应该和安装的PHP对应,否则可能出现问题。

下载和PHP对应的xdebug扩展后,将php_xdebug.dll扩展文件放到php的ext扩展目录下。然后,和上面类似,修改php.ini配置文件,开启xdebug。

修改完php.ini配置文件后,重启Apache,打印phpinfo信息,查看xdebug是否开启成功。

2. 配置Zend Studio

首先,修改Zend Studio首选项,即点击菜单栏的Window -> Preferences,添加一个 PHP Executables(PHP可执行环境),并将其设为默认(Set Default)。

其次,添加PHP Servers(由于我设置了虚拟主机 demo.com,故这里我需要新建一个),并将其设为默认,即点击Set Default按钮。

然后,配置Debug选项,如下图:

最后,设置项目的属性配置,选中项目文件夹后右键,选择 Properties,弹出一个对话框,设置如下:

到此,Zend Studio中关于xdebug的配置就完成了。以后,我们就可以使用 Debug As -> PHP CLI Application 或 PHP Web Application 进行断点调试了。

3. 执行断点调试

首先,在指定的PHP文件的行首,添加多个断点,可通过双击行首或右键菜单 -> Toggle Breakpoints,来设置或取消断点。

由于在上面的配置中,我们勾选了 Break at First Line 选项,因此这里也可不加断点,直接进行调试。当我们进行调试时,Zend Studio会自动在php文件的第一行代码处进入断点调试模式。

其次,在该php文件中,右键 -> Debug As -> PHP CLI Application,运行Debug调试模式,如下图:

进入断点调试模式后,就可以通过快捷键来对该php文件进行调试了。

常用的调试快捷键包括:F5(单步跳入)、F6(单步跳过)、F7(单步返回)、F8(跳过调试继续执行)、Ctrl+F2(结束调试)。

当然,我们也可以使用快捷菜单中的按钮来控制调试过程。

如上图所示,通过单步调试(断点调试),我们可以在右上角的 Variables 选项卡区域,看到单步调试过程中各个变量的值。显然,这种查错的方式比在代码中手动添加多个输出语句要快捷得多。特别是代码逻辑比较复杂时,单步调试的优势更加明显。

单步跳入和单步跳过的区别:

步入比步过更加精细,如果在调试过程中使用步入,xdebug就会真正一条语句一条语句的顺序执行,遇到加载的外部文件时,也会进入其中。这样,对整个程序的运行流程就能非常清楚,但同时也会使整个debug流程变得冗长。

步过是指跳过当前代码,执行下一行代码,不会考虑代码的内部执行细节;而步入是指进入当前代码内部,逐条执行每一条指令。如果只想知道程序的大致流程,应该使用步过,来跳过细节,避免花费过多不必要的时间。而当程序遇到一些很难排除的bug时,需要精确地知道每条指令的执行细节,此时可选择步入。

zend studio php调试,Zend Studio中如何配置和使用xdebug断点调试工具?相关推荐

  1. android studio第三方调试,Android Studio直接运行调试签名包

    Android Studio 直接运行将apk装载在模拟器或是手机上的都是它默认的一个debug包,而无正式的签名,然而像第三方登录啊.分享.支付等一些功能,都需要打上签名包才能完整使用,所以现在遇到 ...

  2. android studio第三方调试,Android Studio完美调试

    这几天写了点基础模块,一口气写完,结果没跑通(╯﹏╰),免不了调试一把,调来调去有些心烦,就顺带把AS里的调试都看了一遍.调试作为一个开发者最基础的技能,也是很重要的一个手段,正巧就讲一讲一些基础的调 ...

  3. eclipse 中配置php的 XDebug调试

    1. 打开 eclipse for php IDE,window->preference->PHP->Debug 2. 配置phpserver 3. 我的已经增加好了,默认的应该有l ...

  4. eclipse php设置xdebug,eclipse 中配置php的 XDebug调试

    1. 打开 eclipse for php IDE,window->preference->PHP->Debug 2. 配置phpserver 3. 我的已经增加好了,默认的应该有l ...

  5. 开发环境wamp3.06 + Zend studio 12 调试配置

    <?php $fileName = "php大师.test.php"; //补充程序,显示文件名(不包括扩展名) $start = strrpos($fileName, &q ...

  6. 大家调试ZEND的时候应该会用到zend studio,不知道是不是中国购买zend产品的用户太少了还是我安装的问题,...

    大家调试ZEND的时候应该会用到zend studio,不知道是不是中国购买zend产品的用户太少了还是我安装的问题, 装好后桌面选项中竟然没有"简体中文"的语言选项了,到配置文件 ...

  7. zend studio 远程调试 php

    ZendStudio配置SFTP:结合Zend Debugger进行php代码的远程调试 2012-12-24 09:14 1780人阅读 评论(0) 收藏 举报  分类: PHP(35)  一.配置 ...

  8. zend studio php mvc,Zend Studio使用教程:使用Zend Studio和Zend Server进行根本原因分析 (一)...

    本教程通过解释如何使用Zend Studio的应用程序监视功能执行根本原因分析,演示Zend Studio和Zend Server如何紧密集成以促进更快的开发. 应用程序监视利用服务器在应用程序开发期 ...

  9. 专业级智能PHP IDE Zend Studio教程:Zend Framework 2集成(1/3)——创建和部署新的ZF2项目

    Zend Studio是新一代的专业级智能PHP IDE(应用程序开发环境).它旨在帮助开发人员提高工作效率,创造出高品质的PHP应用程序!它包含了PHP开发所必须的部件,通过一整套的编辑.调试.分析 ...

  10. c# uwp html源码,调试 UWP 应用中的 HTML 和 CSS - Visual Studio | Microsoft Docs

    在 Visual Studio 中调试 UWP 应用中的 HTML 和 CSS 07/17/2018 本文内容 Visual Studio 针对 JavaScript 应用提供全面的调试体验,其中包括 ...

最新文章

  1. #1045 无法登录 MySQL 服务器 phpmyadmin
  2. 【CVPR2020 Oral】只需一行代码就可提升迁移性能
  3. 文本分类--情感分析
  4. 加州大学黑科技:激光使电子设备不再依赖半导体材料
  5. 本文为 2021 年 5 月知识总结
  6. 常见MIME类型例表
  7. 【数据预测】基于matlab鸟群算法优化BP神经网络数据预测【含Matlab源码 1772期】
  8. linux命令之grep(详解)
  9. 想自学单片机,各位有什么书和板子值得推荐的吗?
  10. 定义Student类,该类中有Sting name和int age两个属性,该类实现Comparable接口,实现根据学生姓名和年龄排序,该类重写toString()输出学生的姓名和年龄。
  11. Linux网卡up但是没有running,eth0 up但是没有running的小问题
  12. uniapp打包app教程
  13. html作业介绍家乡,dreamweaver网页大作业 我的家乡
  14. Matlab中产生门函数----Heaviside函数的调用方法
  15. 怎么在本地运行java项目,eclipse怎么运行java web项目?
  16. mysql limit会扫描全表_为什么用了limit还会进行全表扫描?
  17. 【Unity+MySQL】实现简单的注册登录系统
  18. Vue源码系列 - 前言
  19. 基于MATLAB的人脸考勤识别系统
  20. 十一月英语——So it goes...

热门文章

  1. 计算机组成与结构1800题,最新版数据结构1800题含完整答案详解.doc
  2. 计算机怎么清理CAD,CAD遇到病毒怎么清理?别慌,教你四个方法搞定它
  3. SPSS教程:单因素重复测量方差分析,超详细图文教程
  4. 网易邮箱发送邮件显示服务器错误,Outlook Express收发163.com邮件( 服务器错误: 553)...
  5. java试题管理系统
  6. 西威变频器avo下载调试资料_步骤详解|西门子PLCS7-1200通过周期性通讯PZD通道时组态和下载...
  7. Unity 动态鼠标切换
  8. JSONObject依赖包
  9. 个人实践:总结方法论,提高做事效率
  10. 最新emoji表情代码大全_抖音不用考虑我我没感受铁打的图片,最新表情包高清大全[多图]-软件教程...