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 相关文章推荐
什么是MVC,好东西啊
May 03 PHP
php通过文件头检测文件类型通用代码类(zip,rar等)
Oct 19 PHP
PHP基础学习小结
Apr 17 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
Sep 15 PHP
PHP通过session id 实现session共享和登录验证的代码
Jun 03 PHP
PHP 如何获取二维数组中某个key的集合
Jun 03 PHP
ThinkPHP3.1.3版本新特性概述
Jun 19 PHP
Laravel框架学习笔记(一)环境搭建
Oct 15 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
Nov 07 PHP
php实现简单的MVC框架实例
Sep 23 PHP
PHP序列化操作方法分析
Sep 28 PHP
PHP中多字节字符串操作实例详解
Aug 23 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
JavaScript 高级语法介绍
2009/06/15 Javascript
IE DOM实现存在的部分问题及解决方法
2009/07/25 Javascript
基于jquery的自定义鼠标提示效果 jquery.toolTip
2010/11/14 Javascript
15个款优秀的 jQuery 图片特效插件推荐
2011/11/21 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
2014/10/17 Javascript
JavaScript实现的多种鼠标拖放效果
2015/11/03 Javascript
JavaScript实现开关等效果
2017/09/08 Javascript
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
vue踩坑记录之数组定义和赋值问题
2019/03/20 Javascript
详解Vue源码学习之双向绑定
2019/04/10 Javascript
解决vue.js提交数组时出现数组下标的问题
2019/11/05 Javascript
vue.js实现照片放大功能
2020/06/23 Javascript
在IIS服务器上以CGI方式运行Python脚本的教程
2015/04/25 Python
简单理解Python中的装饰器
2015/07/31 Python
读取本地json文件,解析json(实例讲解)
2017/12/06 Python
python实现kNN算法
2017/12/20 Python
详解关于Django中ORM数据库迁移的配置
2018/10/08 Python
python如何解析配置文件并应用到项目中
2019/06/27 Python
numpy.array 操作使用简单总结
2019/11/08 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
2020/04/10 Python
Python如何获取文件指定行的内容
2020/05/27 Python
python实现按日期归档文件
2021/01/30 Python
在css3中background-clip属性与background-origin属性的用法介绍
2012/11/13 HTML / CSS
跑步、骑行和铁人三项的高性能眼镜和服装:ROKA
2018/07/06 全球购物
大学生优秀的自我评价分享
2013/10/22 职场文书
优秀团干部个人事迹
2014/05/29 职场文书
党性教育心得体会
2014/09/03 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
党的群众路线教育实践活动专题组织生活会发言材料
2014/10/17 职场文书
七年级英语教学反思
2016/02/15 职场文书
2016年青少年禁毒宣传教育活动总结(学校)
2016/04/05 职场文书
创业计划书之外语培训班
2019/11/02 职场文书
pycharm 如何查看某一函数源码的快捷键
2021/05/12 Python
Spring Boot mybatis-config 和 log4j 输出sql 日志的方式
2021/07/26 Java/Android
教你使用Ubuntu搭建DNS服务器
2022/09/23 Servers