Xdebug开源PHP程序调试器

Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。

本文为大家讲解的是在linux下xdebug的安装和配置方法,感兴趣的同学参考下.

xdebug简介

Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。

xdebug安装

首先让php错误显示,只需要修改php.ini当中的2条指令,把 displayerrors和htmlerrors都设置为On,如下所示

html_errors = On
display_errors = On

当然如果你要需要查看更多信息,比如说打印调用栈,哪就需要安装xdebug,这个对于比较复杂的代码系统特别有帮助

xdebug是php的一个module,需要编译安装,我用lnmp安装的php,php被默认安装到/usr/local/php,然后做一个硬链接到/usr/bin

先编译xdebug

下载xdebug wget http://www.xdebug.org/files/xdebug-2.2.3.tgz

然后开始编译

tar xzf xdebug-2.2.3.tgz

cd xdebug-2.2.3

/usr/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make

make test

这里我遇到一个问题就是在 php.ini  文件中要开启  proc_open

make install

编译完成接下来修改php.ini配置, 在次之前你也可以先去 你的 php 安装路径下的lib 库目录看看是否生成了xdebug.so文件,如果生成了就把下面这些加入 php.ini 文件

;no-debug-non-zts-20090626 这个文件夹名称和php版本是一一对应的

zend_extension= "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"

xdebug.default_enable = On

xdebug.show_exception_trace = On

xdebug.show_local_vars = 1

xdebug.max_nesting_level = 50

xdebug.var_display_max_depth = 6

xdebug.dump_once = On

xdebug.dump_globals = On

xdebug.dump_undefined = On

xdebug.dump.REQUEST = *

xdebug.cli_color = 2

重启php-fpm,随便写段错误的php代码,刷新浏览器,就能看到错误提示。

时间: 2024-08-26 10:43:34

Xdebug开源PHP程序调试器的相关文章

「Python调试器」,快速定位各种疑难杂症!!!

现在很多的编辑器其实都带着「调试程序」的功能,比如写 c/c++ 的 codeblocks,写 Python 的 pycharm,这种图形界面的使用和显示都相当友好,简单方便易学,这个不是我这篇文章要讲的重点.今天主要是想给大家介绍一下 「Python调试器」,快速定位各种疑难杂症. Python 调试器 这一部分主要就是想说两个 Python 调试器,分别是标准库自带的 pdb 和开源的 ipdb. pdb pdb 是 Python 自带的库,为 Python 提供了一种交互式的源码调试功能,

开源小小调试器-MiniDebugger

MiniDebugger是我在最近设计的一款调试器.我通过这个小项目试图去探究一些功能的原理以及完成一些自认为有趣的功能,也算是一种自我锻炼. 项目地址: http://code.taobao.org/p/MiniDebuger/src/ 设计思考 做一个自己真正会去用的调试器.这个十分必要.如你所知,有非常多的优秀的调试器,伴随一名程序调试者.它们包括OD,WinDBG,X64DBG,以及IDA. 想要自己平时能用的上,在这方面我可是很挑剔的.就需要实现一些人无我有的小功能. 我比较喜欢Win

php程序调试: xdebug的配置

如何在phpeclipse中像调试Java程序一样调试php呢? XDebug的版本很多,打开http://xdebug.org/index.php,把网站仔细看一下,你会发现有句"If you don't know which one you need, please refer to the custom installation instructions.",非常好,打开这个页面,按照要求将phpinfo()的内容copy & paste到form里面,然后按一下&quo

简单调试器的实现(二)使用反汇编引擎&建立第一个程序

让程序停下来: 动态调试器的一个重要特点就是:让程序停下来,这样我们才可以观测到程序的即时情况. 不过现在我们并不需要研究怎么下断点,系统已经帮我们激活了第一个断点.在创建调试进程时,系统会帮我们在ntdll.dll中设置一个INT3断点,我们就让程序在这里断下来. switch (DebugEvent->u.Exception.ExceptionRecord.ExceptionCode)//Int3断点的事件 { case EXCEPTION_BREAKPOINT: // ((DWORD )0

Delphi应用程序的调试(十)调试器选项(在IDE中不要使用异常)

可在两个级别上设置调试选项:工程级和环境级.在前面的讲解中讲解了工程级调试选项,通过主菜单[Project | Options…]打开如下对话框: 可在Debugger Options对话框中设置全局级调试选项.从主菜单[Tools | Debugger Options]菜单项调出Debugger Options对话框. 在Debugger Options对话框的底部有一个标记为Integrated debugging的复选框,它控制是否使用IDE调试器调试程序.如果选中Integrated d

推荐两款Windows下的开源调试器

在软件开发过程中,调试器可以说是一个得力助手,善用它你就可以快速定位bug并消灭之. 想想以前不会使用调试器功能的时候只靠输出数据来差错的方式,真是效率太低了. 如果你对调试器的运行原理好奇,学习开源软件是最好的途径.当然必备的入门书籍还是有必要的,如张银奎先生的<软件调试>一书就是本经典书籍. 言归正传,下面向大家推荐两款值得学习用的调试器.首先向大家推荐的是Nanomite,这是我在github上最早接触的一款开源调试器,支持x86/x64调试,可惜现在已经不更新了,但是基本功能都已经实现

【转】WinDbg调试器:启动程序时自动连接调试器方法

当我们调试服务进程或子进程时,无法直接用调试加载进程的方式启动,此时需要在启动程序时自动连接调试器方法: 第一步:注册表展开到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options路径下: 第二步:在Image File Execution Options上鼠标右键,新建"项",项名为你要调试的程序,比如 test.exe: 第三步:在项名上,右键,新建字符

使用GDB命令行调试器调试C/C++程序【转】

转自:https://linux.cn/article-4302-1.html 编译自:http://xmodulo.com/gdb-command-line-debugger.html作者: Adrien Brochard原创:LCTT https://linux.cn/article-4302-1.html译者: SPccman本文地址:https://linux.cn/article-4302-1.html 2014-11-25 21:48    评论: 31 收藏: 19 分享: 43

.NET 程序启动调试器 .NET 测试代码耗费时间

有些场景的.NET程序,不容易设置断点,可以用下面的方法,在.NET代码中增加启动调试器的代码: if (!Debugger.IsAttached) Debugger.Launch(); .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*w