php扩展xdebug基本使用

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

官网:http://www.xdebug.org/ 

使用:http://www.xdebug.org/docs/

 

安装

http://blog.csdn.net/21aspnet/article/details/7036087

 

使用

 

1.获取文件名,行号,函数名

xdebug_call_class()

<?php
    function fix_string($a)
    {
        echo "Called @ ".
            xdebug_call_file().
            ":".
            xdebug_call_line().
            " from ".
            xdebug_call_function();
    }

    $ret = fix_string(array('Derick'));
?>


输出:

Called @ /var/www/xdebug_caller.php:12 from {main}
 
2.输出head信息
 
 
xdebug_get_headers() 
<?phpheader( "X-Test", "Testing" );setcookie( "TestCookie", "test-value" );var_dump( xdebug_get_headers() );?>


输出:

array(2) {  [0]=>  string(6) "X-Test"  [1]=>  string(33) "Set-Cookie: TestCookie=test-value"}

 

 

3.输出执行时间

xdebug_time_index()

<?phpecho xdebug_time_index(), "\n";for ($i = 0; $i < 250000; $i++){    // do nothing}echo xdebug_time_index(), "\n";?>

4.代码覆盖

xdebug_start_code_coverage();

代码

var_dump(xdebug_get_code_coverage());

看图更明显

 

5.代码跟踪

需要跟踪的代码:

class myClass{    public function a($a) {        echo $a * 2.5;    }    public function b($b) {       $this->a($b + 2);    }}xdebug_start_trace('trace');$obj=new myClass();$obj->b(6);echo "</br>";xdebug_stop_trace();

--------------------------------------------------------------------------
xdebug配置参考

xdebug.default_enable = Onxdebug.show_exception_trace = Onxdebug.show_local_vars = 1xdebug.max_nesting_level = 50xdebug.var_display_max_depth = 6xdebug.dump_once = Onxdebug.dump_globals = Onxdebug.dump_undefined = Onxdebug.dump.REQUEST = *xdebug.dump.SERVER = REQUEST_METHOD,REQUEST_URI,HTTP_USER_AGENTxdebug.trace_format = 0xdebug.auto_trace = Onxdebug.trace_output_dir = E:\xampp\tmp\tracesxdebug.trace_output_name = trace.%c.%pxdebug.collect_params = 4xdebug.collect_includes = Onxdebug.collect_return = Onxdebug.show_mem_delta = On

设置xdebug.auto_trace = Off可在代码中添加xdebug_start_trace();xdebug_stop_trace();语句生成追踪文件。


使用xdebug_start_trace跟踪代码执行

xdebug_start_trace('trace');$a->myCaller($b);xdebug_stop_trace();TRACE START [16:53:57]0.0010      57964    -> MyClass->myCaller() /code/xdebug.php:210.0011      58104     -> MyOther->myCallee() /code/xdebug.php:40.0011      58104      -> xdebug_call_class() /code/xdebug.php:100.0011      58128      -> printf() /code/xdebug.php:100.0014      58196      -> xdebug_call_function() /code/xdebug.php:110.0015      58196      -> printf() /code/xdebug.php:110.0016      58196      -> xdebug_call_file() /code/xdebug.php:120.0016      58244      -> printf() /code/xdebug.php:120.0017      58244      -> xdebug_call_line() /code/xdebug.php:130.0017      58244      -> printf() /code/xdebug.php:130.0018      58244   -> xdebug_stop_trace() /code/xdebug.php:220.0019      58244TRACE END [16:53:57]


 

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Xdebug 是一个用于 PHP 的调试器和分析器。它可以帮助您跟踪代码执行、查看变量值和调用堆栈等。要使用 Xdebug,您需要在 PHP 中安装和配置它。步骤如下: 1. 下载并安装 Xdebug 扩展。 2. 编辑 php.ini 配置文件,启用 Xdebug 扩展。 3. 设置 IDE 或编辑器来使用 Xdebug。 4. 使用 Xdebug 进行调试。 如果您使用的是 Windows 系统,可以使用 PECL 命令安装 Xdebug: ``` pecl install xdebug ``` 如果您使用的是 Linux 系统,可以使用以下命令安装 Xdebug: ``` sudo apt-get install php-xdebug ``` 然后,编辑 php.ini 文件启用 Xdebug 扩展: ``` zend_extension = /usr/lib/php/20151012/xdebug.so ``` 并设置 IDE 或编辑器来使用 Xdebug 进行调试,例如在PhpStorm中设置即可。 如果您想了解更多关于 Xdebug 的信息,请访问官网:https://xdebug.org/ ### 回答2: PHP Xdebug 是一个用于调试 PHP 程序的工具。它提供了一些强大的功能,帮助开发人员在开发和调试过程中更加高效地查找和解决问题。 使用 Xdebug 的第一步是将其安装到 PHP 环境中。一般来说,可以通过厂商提供的包管理器(如 PECL),或者手动下载源代码编译安装。安装完成后,需要在 PHP 配置文件中启用 Xdebug 扩展。 一旦安装和启用 Xdebug,我们就可以开始使用其提供的功能了。其中最常用的功能是代码断点调试。我们可以在代码中设置断点,当程序执行到断点时会停下来,然后可以逐行查看代码的执行路径、变量的值以及调用堆栈等信息。可以使用调试器(如 PhpStorm、NetBeans 或者 Xdebug 自带的命令行工具)来与 Xdebug 进行交互。 除了断点调试,Xdebug 还提供了一些辅助功能。例如,它可以生成代码覆盖率报告,帮助我们了解代码的执行情况以及哪些部分没有被覆盖到。另外,Xdebug 还可以记录函数的调用时间和内存消耗,用于性能分析和优化。 为了更好地使用 Xdebug,我们可以在 PHP 配置文件中进行一些配置。我们可以设置远程调试(Remote Debugging),允许通过网络连接到远程服务器进行调试。我们还可以设置日志记录(Logging),将调试信息写入日志文件,以便以后分析。 总之,PHP Xdebug 是一个非常实用的工具,可以帮助开发人员更加高效地进行 PHP 程序的调试。使用 Xdebug 可以快速定位和解决问题,并提高代码的质量和性能。 ### 回答3: PHP Xdebug 是一个可以提供调试、分析和优化 PHP 程序的强大工具。它为开发者提供了一系列的功能,帮助我们更方便地进行代码调试和性能分析。 首先,Xdebug 提供了强大的调试功能,可以让我们在 PHP 程序中设置断点,然后逐行调试代码。通过启用 Xdebug,我们可以在代码中插入断点,以便在执行到断点时暂停程序并检查变量的值以及代码执行流程。这对于定位代码中的错误和调试复杂的程序非常有帮助。 此外,Xdebug 还可以生成详细的运行时日志,可以帮助我们追踪程序的执行流程和变量的变化。我们可以通过在配置文件中设置相应的参数,让 Xdebug 追踪和记录程序的每一步操作,以及输出和记录变量的值。这对于分析程序的执行顺序和检查变量的变化非常有用,可以帮助我们更好地了解程序的行为。 除了调试和日志功能,Xdebug 还提供了一系列的性能分析功能。它可以生成函数调用图,并统计函数的执行时间和调用次数,从而帮助我们发现程序中的性能瓶颈。通过分析 Xdebug 生成的报告,我们可以定位到执行时间较长的函数,并优化它们以提高程序的性能。 总结来说,PHP Xdebug 是一个非常有用的工具,它可以帮助我们更好地调试、分析和优化 PHP 程序。通过使用 Xdebug,我们可以快速地定位代码中的错误,了解程序的执行流程和变量的变化,以及发现和优化程序的性能瓶颈。它是 PHP 开发者不可或缺的一款工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值