关闭

XDebug用法大全(二)断点调试和性能分析

标签: php断点调试eclipse
1801人阅读 评论(0) 收藏 举报
分类:

Xdebug除了可以以堆栈跟踪的方式显示异常之外,还可以令PHP可以像C#那样进行断点调试,甚至对代码进行性能分析。

一、使用Eclipse+Xdebug进行断点调试


1)安装Eclipse和PDT

首先,需要安装后Eclipse的PHP环境,在Eclipse官网网站上已经有集成的安装包了。

第二步,安装Eclipse的PDT插件,“Help”=>“Install New Software”,在弹出的对话框中点击“Add...”,安装PDT插件。

PS:官方网站为https://eclipse.org/pdt/,如果在Eclipse的官网下载的集成PHP程序,可以忽略这个步骤,因为下载的包已经包含PDT这个插件


安装完成后,进行下一步配置

2)配置Xdebug

[xdebug]
#必需参数,开启远程调试
xdebug.remote_enable = 1
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9000
xdebug.remote_handle = dbgp
xdebug.profiler_enable = on
xdebug.profiler_enable_trigger = on
xdebug.profiler_output_name = cachegrind.out
xdebug.profiler_output_dir = "/tmp/xdebug/"
xdebug.trace_output_dir="/tmp/xdebug/" 
;开启自动跟踪
xdebug.auto_trace = On
;开启异常跟踪
xdebug.show_exception_trace = On
;开启远程调试自动启动
xdebug.remote_autostart = On
;收集变量
xdebug.collect_vars = On
;收集返回值
xdebug.collect_return = On
;收集参数
xdebug.collect_params = On

3)配置Eclipse

配置PHP Executable,点击“Windows”->"Preferences"->"PHP"->"PHP Executable",这里需要配置CIL和CGI2中方式。


为每个项目配置Debug Server,项目属性->"PHP"->"Debug"



到此为止,已经完成基本配置了,以下尝试对简单的PHP脚本进行调试。


二、使用工具分析Xdebug日志文件

除了断点调试之外,Xdebug还可以进行简单性能分析,xdebug的配置
xdebug.profiler_output_name = cachegrind.out
xdebug.profiler_output_dir = "/tmp/xdebug/"
xdebug.trace_output_dir="/tmp/xdebug" 


会输出一个out的数据文件,存储php脚本执行的消耗时间数据,在windows下面,可以通过WinCacheGrind 这个工具来分析该文件(http://sourceforge.net/projects/wincachegrind/)。将.out文件拖入工具,可以显示各函数的执行情况。



1
0
查看评论

xdebug php日志跟踪调试

debug方式是:xdebug的 xdebug_start_trace(); /* 业务代码     */ xdebug_stop_trace(); 他解决了我长久以来一个代码调试问题:比如有以下几个场景: 1、一个有几百行的函数,里面有很多return,现在函数异常返...
  • qq_22648203
  • qq_22648203
  • 2017-03-13 16:27
  • 511

php调试之xdebug配置详解

代码跟踪相关配置选项: xdebug.auto_trace boolean类型,默认值0。用于设定在脚本运行前是否自动跟踪方法的调用信息。xdebug.collect_assignmentsxdebug.collect_return boolean类型,默认值0。用于设定是否返回调用方法的返回...
  • q601115211
  • q601115211
  • 2016-09-09 10:06
  • 3323

XDebug用法大全(一)错误调试

XDebug是一个开放源代码的PHP程序调试器(即一个Debug工具,可以用来跟踪,调试和分析PHP程序的运行状况。 一、堆栈化的错误调试 首先来看看Xdebug最基本的功能——堆栈化的错误调试,代码很简单,仅仅有一个名为t1的函数,函数中require了一个不存在的PHP文件 function t...
  • loophome
  • loophome
  • 2015-07-06 20:41
  • 1494

Xdebug的使用说明

Xdebug是一款PHP代码调试工具,支持本地和远程调试,是一名有经验的PHP程序员所必须要掌握的工具。 xdebug安装和配置好后的使用有以下用处:     堆栈追踪和函数追踪;     错误信息;     ...
  • u010783397
  • u010783397
  • 2013-10-22 10:22
  • 954

PHP调试跟踪之XDebug使用总结

Xdebug是一个开源的PHP程序调试工具,可以使用它来调试、跟踪及分析程序运行状态。当然,Xdebug需要结合PHP的编辑工具来打断点、跟踪、调试及分析,比较常用的PHP的Xdebug调试环境:Vim + Xdebug。 • 安装配置 • 调试环境 • 跟踪分析 • 注意事项 • 遇到问题
  • why_2012_gogo
  • why_2012_gogo
  • 2016-04-16 22:16
  • 30239

PhpStorm中如何使用Xdebug工具,入门级操作方法

1.简介: PhpStorm是一个轻量级且便捷的PHP IDE,其提供的智能代码补全,快速导航以及即时错误检查等功能大大提高了编码效率。它以其独特的开发便利性,短时间内应得了大量PHPer的青睐。 Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP...
  • Knight_quan
  • Knight_quan
  • 2016-07-19 10:11
  • 18548

PhpStorm中如何使用Xdebug工具

1.简介: PhpStorm是一个轻量级且便捷的PHP IDE,其提供的智能代码补全,快速导航以及即时错误检查等功能大大提高了编码效率。它以其独特的开发便利性,短时间内赢得了大量PHPer的青睐。 Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可...
  • h330531987
  • h330531987
  • 2017-08-05 23:17
  • 444

XDebug基本配置项说明

xdebug
  • Tom_Green
  • Tom_Green
  • 2017-02-08 16:21
  • 221

PHP使用syslog进行调试

PHP使用syslog进行调试
  • picone
  • picone
  • 2017-01-10 15:26
  • 501

在Windows上和Linux上安装xdebug

1、在Windows上安装。写个测试页,里面写上phpinfo();把内容复制贴到http://www.xdebug.org/find-binary.php页面里,点击提交,之后会提示本机php对应的Xdebug版本,下载后放到php目录下的ext目录内,再把下面的配置写入php.ini内,之后重启...
  • molaifeng
  • molaifeng
  • 2015-07-14 18:04
  • 1495
    个人资料
    • 访问:260091次
    • 积分:4491
    • 等级:
    • 排名:第7910名
    • 原创:185篇
    • 转载:33篇
    • 译文:3篇
    • 评论:14条
    博客专栏