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之第七天
Oct 09 PHP
php简单静态页生成过程
Mar 27 PHP
比较全的PHP 会话(session 时间设定)使用入门代码
Jun 05 PHP
php下统计用户在线时间的一种尝试
Aug 26 PHP
关于js和php对url编码的处理方法
Mar 04 PHP
PHP使用Pear发送邮件(Windows环境)
Jan 05 PHP
实例讲解php数据访问
May 09 PHP
PHP之图片上传类实例代码(加了缩略图)
Jun 30 PHP
PHP实现添加购物车功能
Mar 06 PHP
Redis在Laravel项目中的应用实例详解
Aug 11 PHP
PHP实现统计所有字符在字符串中出现次数的方法
Oct 17 PHP
php静态成员方法和静态的成员属性的使用方法
Oct 26 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
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
2013/06/05 PHP
php中cookie实现二级域名可访问操作的方法
2014/11/11 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
2015/12/31 PHP
微信公众号开发之通过接口删除菜单
2017/02/20 PHP
js验证是否为数字的总结
2013/04/14 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
纯javascript实现分页(两种方法)
2015/08/26 Javascript
js实现继承的5种方式
2015/12/01 Javascript
javascript 四十条常用技巧大全
2016/09/09 Javascript
Javascript typeof与instanceof的区别
2016/10/18 Javascript
读Javascript高性能编程重点笔记
2016/12/21 Javascript
yarn的使用与升级Node.js的方法详解
2017/06/04 Javascript
Vue3.0结合bootstrap创建多页面应用
2019/05/28 Javascript
微信小程序实现下拉框功能
2019/07/16 Javascript
js生成1到100的随机数最简单的实现方法
2020/02/07 Javascript
[48:30]LGD vs infamous Supermajor小组赛D组 BO3 第一场 6.3
2018/06/04 DOTA
基于Django ORM、一对一、一对多、多对多的全面讲解
2019/07/26 Python
python opencv实现证件照换底功能
2019/08/19 Python
Python守护进程实现过程详解
2020/02/10 Python
HTML5 placeholder属性详解
2016/06/22 HTML / CSS
利用HTML5画出一个坦克的形状具体实现代码
2013/06/20 HTML / CSS
英国手机零售商:Metrofone
2019/03/18 全球购物
萨克斯第五大道英国:Saks Fifth Avenue英国
2019/04/01 全球购物
高级Java程序员面试题
2016/06/23 面试题
一套Delphi的笔试题二
2013/05/11 面试题
电子商务专业学生职业生涯规划
2014/03/07 职场文书
副校长竞聘演讲稿
2014/09/01 职场文书
加强作风建设心得体会
2014/10/22 职场文书
2015年招商引资工作总结
2015/04/25 职场文书
工作失职自我检讨书
2015/05/05 职场文书
预备党员表决心的话
2015/09/22 职场文书
党员电教片《信仰》心得体会
2016/01/15 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
Pytorch DataLoader shuffle验证方式
2021/06/02 Python
MySQL 用 limit 为什么会影响性能
2021/09/15 MySQL
python数字图像处理:图像的绘制
2022/06/28 Python