PHPLog php 程序调试追踪工具


Posted in PHP onSeptember 09, 2009

原理:

    1.程序执行的过程中,在相应的地方记录你想要追踪的变量及调用栈和每次函数调用的参数,
          把这些信息以一定的格式记录到文件,一个变量一行,具体数据格式请参看代码,这里不细讲.

    2.现在有了每次记录变量时的所有信息(包括调用栈及参数),当你通过浏览器访问这个程序时, 这个程序会把整个文件读取分析,
          在页面显示你的所有调试信息,并且它会动态ajax刷新,保持与你的调试同步.

    画个图吧,要清晰得多.

PHPLog php 程序调试追踪工具

     BackTrace也就是调用栈信息,没有在图中体现,是ajax动态刷新的.

功用:

      再截几个本机的图说明下:

     1.包含文件,调试变量(上面是程序,下面是apache_request_headers()的调试输出)

PHPLog php 程序调试追踪工具

     2.drupal系统某次函数的调用栈列表
 

PHPLog php 程序调试追踪工具

     3.栈中某个函数的调用参数

PHPLog php 程序调试追踪工具

后记:

   程序基本上实现了调试,追踪php变量的功能,还附带了调用栈及调用参数查看功能.

   现在echo,print_r,var_dump等系统函数,如非必要时,本人已很少用来调试输出了,基本上用这个就可以得到想要的东西了.

   特别是像drupal这类复杂的系统,能够清楚地知道程序是怎么执行的.

说明:

    程序是用php4的写法写成的,在php4.4.8, 5.2.5上测试过, 理论上是支持php4, php5的.

    linux, window, ie6-7, firefox下也都测试过,但还是不敢保证在你的环境下不出错,如有,请自行修正.

    请不让log文件超过5M大小,浏览器可能会崩溃的.
下载地址 https://3water.com/codes/20851.html

PHP 相关文章推荐
用PHP读取和编写XML DOM的实现代码
Feb 03 PHP
PHP导出MySQL数据到Excel文件(fputcsv)
Jul 03 PHP
php中邮箱地址正则表达式实现与详解
Apr 24 PHP
排序算法之PHP版快速排序、冒泡排序
Apr 09 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
Jun 12 PHP
yii操作session实例简介
Jul 31 PHP
PHP处理JSON字符串key缺少双引号的解决方法
Sep 16 PHP
php上传文件问题汇总
Jan 30 PHP
PHP中的类型约束介绍
May 11 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
Mar 09 PHP
PHP实现微信对账单处理
Oct 01 PHP
PHP CURL实现模拟登陆并上传文件操作示例
Jan 02 PHP
php 从数据库提取二进制图片的处理代码
Sep 09 #PHP
封装一个PDO数据库操作类代码
Sep 09 #PHP
PHP 数组遍历顺序理解
Sep 09 #PHP
PHP 裁剪图片成固定大小代码方法
Sep 09 #PHP
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
Sep 09 #PHP
PHP 危险函数全解析
Sep 09 #PHP
php 获取远程网页内容的函数
Sep 08 #PHP
You might like
DOTA2 无惧惊涛骇浪 昆卡大型水友攻略
2020/04/20 DOTA
PHP中动态显示签名和ip原理
2007/03/28 PHP
深入php之规范编程命名小结
2013/05/15 PHP
基于php-fpm的配置详解
2013/06/03 PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
2014/04/29 PHP
php实现refresh刷新页面批量导入数据的方法
2014/12/23 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
PHP 命名空间和自动加载原理与用法实例分析
2020/04/29 PHP
prototype 源码中文说明之 prototype.js
2006/09/22 Javascript
window.open的功能全解析
2006/10/10 Javascript
javaScript checkbox 全选/反选及批量删除
2010/04/28 Javascript
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
JavaScript中的prototype.bind()方法介绍
2014/04/04 Javascript
jQuery切换网页皮肤并保存到Cookie示例代码
2014/06/16 Javascript
moment.js轻松实现获取当前日期是当年的第几周
2015/02/05 Javascript
基于Arcgis for javascript实现百度地图ABCD marker的效果
2015/09/12 Javascript
jQuery查看选中对象HTML代码的方法
2016/06/17 Javascript
利用JS轻松实现获取表单数据
2016/12/06 Javascript
前端主流框架vue学习笔记第一篇
2017/07/26 Javascript
vue动态改变背景图片demo分享
2018/09/13 Javascript
vue与iframe之间的信息交互的实现
2020/04/08 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
2016/05/28 Python
python遍历文件夹找出文件夹后缀为py的文件方法
2018/10/21 Python
python 实现手机自动拨打电话的方法(通话压力测试)
2019/08/08 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
2019/09/29 Python
Python文本处理简单易懂方法解析
2019/12/19 Python
Python中sorted()排序与字母大小写的问题
2020/01/14 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
2020/05/07 Python
Python OpenCV读取中文路径图像的方法
2020/07/02 Python
威尔逊皮革:Wilsons Leather
2018/12/07 全球购物
学校文明单位申报材料
2014/05/06 职场文书
环保倡议书300字
2014/05/15 职场文书
求职自荐信怎么写
2015/03/04 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书