PHP 调试工具Debug Tools

发现了个调试PHP源码的好同志: PHP DEBUG TOOLS

其项目地址: http://freshmeat.net/projects/php-debug-tools/
文件下载地址: http://freshmeat.net/urls/7c58ae3fecce5763e7546b958d36e082
目前是1.03版本

这里偶的环境是WINDOW XP , APACHE2.2, PHP5.2+ Zend Optimizer,
这里结合PHP DEBUG TOOLS的帮助文档来讲解,图有些是摘自文档.

一.安装篇
安装前的准备环境:必须得先装X-Debug,
至于怎样安装X-Debug请看http://www.xdebug.org/docs/install

1. 从http://www.xdebug.org/download.php下载合适你的X-DEBUG版本
2. 解压DLL文件到PHP安装目录下的ext目录,如C:/php/ext/php_xdebug-2.0.4-5.2.8-nts.dll
3. 修改php.ini文件,加入下段:
-------------偶是变态的分割线,你看不见我------------------------
zend_extension = "C:/php/ext/php_xdebug-2.0.4-5.2.8-nts.dll"
xdebug.collect_includes = Off
xdebug.default_enable = Off

xdebug.dump_globals = Off
xdebug.dump_once = Off
xdebug.extended_info = Off
-------------偶是变态的分割线,你看不见我------------------------
注:This example is for non-thread safe version. For the thread safe version change "zend_extension" to "zend_extension_ts"

安装完毕,解压PHP DEBUG TOOLS压缩包里的所有文件到网站发布目录.
(假设发布目录为c:\www,那么就在其新建一个debug目录,把所有文件扔进去)

在浏览器中输入:http://localhost/debug/test1-debug.php
如果看见下图则安装成功.

二.调试篇
1.Debug errors
如以下代码:


代码如下:

<?php
require './lib/debug.php';
function test($a, $b)
{
echo $asd;
}
test(10, 'abc');
?>


2.用Debug()来调试
如以下代码:


代码如下:

<?php
require './lib/debug.php';
function test($args)
{
test_nested($args);
}
function test_nested($args)
{
debug($args);
// or: debug(get_defined_vars());
// or: debug();
}
test(array('id'=>123, 'str'=>'test'));
?>


3.用dump()或者dump_tofile()调试
如以下代码:


代码如下:

<?php
include_once './lib/dump.php';
function test5()
{
include './testdata/test0.php';
$test = array('int'=>1, 'float'=>2.0, 'float2'=>2.1);
dump($test, $_SERVER);
}
function test1() { test2(); }
function test2() { test3(); }
function test3() { test4(); }
function test4() { test5(); }
test1();
?>


至于dump_tofile()一般在以下情形使用:
A.当你不想停止程序运行时
B.不是你不想显示调式数据,而是你不能.比如当你在AJAX请求状态时.
C.你还想在多处地方调式

可参见debug目录下的test7-dump_tofile.php

注:本人在运行dump()或者dump_tofile()时发现并不能出现PHP DEBUG TOOL文档中所述

这里可以通过修改debug/lib/debug.php的代码来更正.(因为dump_tofile()有调用到dump(),所以我们只需修改一处.
于149行处的
echo $pre;

修改成:

//edit by benben---start
echo '<script type="text/javascript">';
echo 'document.write(';
echo $pre;
echo ');';
echo '</script>';
//edit by benben---end

修正后的图:

4.跟踪代码,查看系统性能
可以浏览目录下的test3-trace.php,之后点右下角的控制台就可以了.
具体可参照文档.(文档在压缩包内的doc目录下)
三,如何与项目结合?

先把php debug tool的解压缩文件,放置于项目目录,建个目录就叫debug吧! : )
其实我们需要的只是几个文件而已.
比如路径为:c:\www\projectName\debug

之后,我们可以通过两种方式来调试
第一种,可以在项目源码中加入这么一句:
include_once('./lib/debug.php');

例如以下:c:\www\projectName\hellodebug\index.php


代码如下:

<?php
include_once('./debug/lib/debug.php');

$faint = 'helloworld ,debuging';

debug($arrb);
?>

什么?你不想每个页面都写这么一句?
那么看看第二种方法,
这里也有两种方式,
1.修改php.ini 加入以下内容(修改成你自身的目录):
auto_prepend_file = "c:\www\projectName\debug\auto_prepend.php"
auto_append_file = "c:\www\projectName\debug\auto_append.php"

2.修改.htaccess文件(注:此方法偶没试过,嘿嘿)
php_value auto_prepend_file "c:\www\projectName\debug\auto_prepend.php"
php_value auto_append_file "c:\www\projectName\debug\auto_append.php"

这样的话就可以方便整个项目的调试.

如果是AJAX开发的话,还有需要的地方,具体请参照文档.(因本人还没那个需要,所以暂时先跳开了,不要拍砖,嘿嘿.)

(0)

相关推荐

  • php中debug_backtrace、debug_print_backtrace和匿名函数用法实例

    本文实例讲述了php中debug_backtrace.debug_print_backtrace和匿名函数用法.分享给大家供大家参考.具体分析如下: debug_print_backtrace() 是一个很低调的函数,很少有人注意过它. 不过当我们对着一个对象调用另一个对象再调用其它的对象和文件中的一个函数出错时,它正在一边笑呢. debug_print_backtrace() 可以打印出一个页面的调用过程,从哪儿来到哪儿去一目了然.不过这是一个PHP5的专有函数,好在pear中已经有了实现.

  • 在WAMP环境下搭建ZendDebugger php调试工具的方法

    东西不是新货,所以介绍就不做介绍了,下面主要是配置流程. 首先,下载ZendDebugger,下载链接:http://downloads.zend.com/pdt/server-debugger/,因为我是win系统,所以就找.zip结尾的就行了,我下的是ZendDebugger-5.2.14-cygwin_nt-i386.zip 然后解压,看到这些目录 那几个文件夹前面的数字,代表php的版本,我用的是5.2.6,所以就用5_2_x_comp,把这个文件夹里的ZendDebugger.dll复

  • php性能优化分析工具XDebug 大型网站调试工具

    一.安装配置 1.下载PHP的XDebug扩展,网址:http://xdebug.org/ 2.在Linux下编译安装XDebug 引用 tar -xzf xdebug-2.0.0RC3.gz cd xdebug-2.0.0RC3 /usr/local/php/bin/phpize ./configure --enable-xdebug cp modules/xdebug.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20020429

  • php Xdebug 调试扩展的安装与使用.

    Xdebug安装 下载xdebug扩展的时候注意xdebug的版本与php版本相对应,不然出现不必要的麻烦! 我自己使用的是PHP5.2.5,下载的xdebug文件名为:php_xdebug-2.0.3-5.2.5.dll,将文件放到php/ext文件夹下即可 3.配置 xdebug配置 打开php.ini 在最后一行加入以下配置代码,配置说明已经做好注释 ;载入Xdebug zend_extension_ts="c:/php/ext/php_xdebug-2.0.4-5.2.8.dll&quo

  • php debug 安装技巧

    本打算配置ZendDebugger 进行调试,配置了老长时间没配置成功,在phpinfo看不到ZendDebugger生效,经查发现是php5.3的问题,必须先卸载,本文介绍使用xdebug了. 软件安装太简单了,分别执行如下命令: sudo apt-get install apache2 sudo apt-get install php5 sudo apt-get install php5-cli sudo apt-get install php5-xdebug php的配置: php.ini

  • php Xdebug的安装与使用详解

    为什么需要Debugger?很多PHP程序员调试使用echo.print_r().var_dump().printf()等,其实对 于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中,通过输出特定变量的值可以判断程序执行是否正确,甚至效率高低也可以 看出来(当然可能还需要使用一些时间函数).那么我们为什么还需要一个专门的调试程序来监控我们的程序运行呢? 这个问题的答案不妨留到后面来揭晓.什么是Xdebug?Xdebug是一个开放源代码的PHP程序调试器(即一个Debu

  • 浅谈php+phpStorm+xdebug配置方法

    1.下载xdebug文件 http://xdebug.org/wizard.php 将phpinfo()的源代码复制到文本框中,xdebug会提示如何配置和下载哪个版本的xdebug. 全部下载地址: http://www.xdebug.org/download.php 2.配置php.ini,在末尾加上. zend_extension="php_xdebug-2.3.3-5.6-vc11.dll" xdebug.remote_enable = On xdebug.remote_han

  • php 调试利器debug_print_backtrace()

    如果我们想知道某个方法被谁调用了? debug_print_backtrace可以解决debug_print_backtrace() 可以打印出一个页面的调用过程 , 从哪儿来到哪儿去一目了然. 不过这是一个PHP5的专有函数,好在pear中已经有了实现, http://pear.php.net/package/PHP_Compat 测试代码 复制代码 代码如下: <?php class a{ function say($msg) { echo "msg:".$msg; echo

  • php的debug相关函数用法示例

    本文实例讲述了php的debug相关函数用法.分享给大家供大家参考,具体如下: loginfo函数: function loginfo($format) { $args = func_get_args(); array_shift($args); $d = debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT, 1)[0]; $info = vsprintf($format, $args); $data = sprintf("%s %s,%d: %s\n&

  • PHP 调试工具Debug Tools

    发现了个调试PHP源码的好同志: PHP DEBUG TOOLS 其项目地址: http://freshmeat.net/projects/php-debug-tools/ 文件下载地址: http://freshmeat.net/urls/7c58ae3fecce5763e7546b958d36e082 目前是1.03版本 这里偶的环境是WINDOW XP , APACHE2.2, PHP5.2+ Zend Optimizer, 这里结合PHP DEBUG TOOLS的帮助文档来讲解,图有些是

  • JavaScript实现的鼠标响应颜色渐变效果完整实例

    本文实例讲述了JavaScript实现的鼠标响应颜色渐变效果.分享给大家供大家参考,具体如下: 运行效果图如下: 完整代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/199

  • js调试工具 Javascript Debug Toolkit 2.0.0版本发布

    1. Javascript 语法着色 2. 在eclipse中调试javascript 3. 查看javascript表达式 4. 语法错误定位 5. 解决通过超链接等方式打开的html页面不能使用的问题 6. 解决上个版本中的bug

  • 10个基于浏览器的JavaScript调试工具分享

    调试Javascript可能是web开发中最让人郁闷的事情.所以这里我们绝定来寻找一些好的工具来帮助大家调试.这里是10款我们精选的基于浏览器的JS在线调试工具,希望大家喜欢!Online Debugging Tools 1.PastebinPastebin是一个协作式的调试工具,帮助你在IRC,IM或者消息版上对话来分享和修改代码片段 2.JSON Formatter and ValidatorJSON格式化工具用来帮助打来调试JSON.因为JSON数据格式经常没有换行,可能非常难于阅读.这个

  • JavaScript调试工具汇总

    现在的JavaScript事实上已然成为了流行的web语言,即使它并不完美.很多程序员不喜欢用JavaScript写代码,是因为写到后来总会出现各种莫名其妙的bug,而且在开发大型应用程序的过程中很容易犯错.而且鉴于当今此类工具的现状,要想在浏览器上做JavaScript调试也不是那么方便. 下面这几个基于桌面和WEB的JavaScript调试工具,能让你更高效地调试JavaScript代码,这样就可以: 更有效地处理动态类型使应用程序更符合编码标准 Firebug Firebug已经出现很多年

  • 解析JDK14中的java tools简介

    1.1 JDK 14详细概述 JDK 8 已经在 2014年 3月 18日正式可用,JDK 8作为长期支持(Long-Term-Support)版本,距离现在已经 5年多时间过去了.5年时间里很多企业也都换上了 JDK 8,2018年09月25日作为下一个LTS的JDK版本:JDK 11也应运而生,Oracle表示会对JDK 11提供大力支持.长期支持.之后陆续发布了JDK 12 和JDK 13,JDK 14在 2020年 3月17日正式发布. 1.2 JDK 14总体概览 Oracle在202

  • cypress中丰富的调试工具使用方法

    目录 cypress调试工具 一. Time travel 二. 快照 三.errors信息 四.页面事件 五.控制台的输出 六.调试专用命令 cypress调试工具 Cypress附带了一系列调试工具来帮助我们弄明白测试的经过,利于我们更好的调试.具体这些工具的能力都有啥? 回到每个命令的快照. 可以看到特殊的已发生的page events. 接收关于每个命令的额外输出. 在多个命令快照之间 向前/向后 步进. 暂停命令并迭代地逐步执行. 当找到隐藏的或者多个元素时,展示的更形象. 这里继续使

  • android调试工具DDMS的使用详解

    具体可见http://developer.android.com/tools/debugging/ddms.html. DDMS为IDE和emultor.真正的android设备架起来了一座桥梁.开发人员可以通过DDMS看到目标机器上运行的进程/现成状态,可以 android的屏幕到开发机上,可以看进程的heap信息,可以查看logcat信息,可以查看进程分配内存情况,可以像目标机发送短信以及打电话,可 以像android开发发送地理位置信息.可以像gdb一样attach某一个进程调试. SDK

  • java selenium使用浏览器调试工具实现方法

    在基于UI元素的自动化测试中, 无论是桌面的UI自动化测试,还是Web的UI自动化测试.   首先我们需要查找和识别UI元素. 在基于Web UI 自动化测试中, 测试人员需要了解HTML, CSS和Javascript的一些知识, 还需要学会使用各种浏览器的调试功能 查找Web UI 页面上的元素, 必须先了解页面的DOM结构, 元素的属性, 甚至一些JavaScript的调用信息.  现在主流的浏览器都自带了很多强有力的工具 阅读目录 Google Chrome Internet Explo

  • android调试工具adb命令大全

    一.adb介绍SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用.通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序.借助这个工具,我们可以管理设备或手机模拟器的状态.还可以进行以下的操作: 1.快速更新设备或手机模拟器中的代码,如应用或Android 系统升级: 2.在设备上运行shell命令: 3.管理设备或手机模拟器上的预定端口: 4.在设备或手机模拟器上复制或粘贴文件

随机推荐