2012-02-09 47 views
0

我正在使用* xdebug_start_trace *和xdebug_stop_trace with trace_format 1.我得到的输出不是从1开始函数编号,而且入口也不是从零开始。这里是前三行跟踪日志:Xdebug跟踪格式1输出

TRACE START [2012-02-09 00:55:43] 
2 162 1 0.038159 820608 
2 163 0 0.038272 821720 require_once 1 /Users/kint/dev/proj/source/f.inc /Users/kint/dev/proj/www/test.php 72 
2 163 1 0.038286 821720 

不应该的功能#(第2列),从1开始(而不是162),且不应第一"entry/exit"值是0?我究竟做错了什么?这搞乱了我的分析。

附录: 看起来函数编号是执行开始位置的绝对值。如果我把* xdebug_start_trace *放在文件的中间,并且我得到了162的值。但是,如果我将xdebug_start_trace向上移动,则函数编号会减少。既然这似乎是答案,我想知道是否有办法重置这个计数?

回答

0

Xdebug从脚本启动时开始计算函数,所以以162开头的跟踪文件是完全正确的。您看到的第一个出口(162:1)来自xdebug_start_trace()函数本身(可以将其定义为我想的错误)。 没有办法如何将数此刻复位,但你当然可以总是在http://bugs.xdebug.org/my_view_page.php

欢呼添加功能请求, 德里克