2017-06-07 54 views
0

X debug正在将输出作为零件而不仅仅是一个文件返回。 我使用的是Ubuntu 16,不知道为什么突然输出是在几个文件中。 我遇到的问题是我无法在Kcachegrind中打开这些文件,因为输出文件中有不同的部分。 有人吗? 预先感谢Xdebug分析器输出文件

回答

2

在默认配置的XDebug创建每一PID一个文件。

当你配置文件与AJAX调用一个网站时,浏览器将多个请求,也许这些都是您的网络服务器的不同PID /实例处理,并让你获得多个文件。

你可以检查你的php.ini。有多个xdebug设置来控制配置数据的存储方式。例如:

xdebug.profiler_aggregate: 类型:整数,默认值:0当此设置被设置为1,一个 单个分析器文件将被用于多个请求写入。可以通过 冲浪到多个页面或重新加载页面以获得所有 请求的平均值。该文件将被命名为.cachegrind.aggregate。您将需要 移动此文件以获得另一轮聚合数据。

xdebug.profiler_append: 类型:整数,默认值:0当此设置被设置为1, 探查文件不会被覆盖当一个新的请求将映射到 相同的文件(取决于Xdebug的。.profiler_output_name设置 相反,文件将被追加到新的配置文件

xdebug.profiler_output_name 类型:字符串默认值: cachegrind.out%p

此设置确定用于将跟踪转储的文件的名称。该设置指定格式说明符 与sprintf()和strftime()非常相似。有几种格式 说明符可用于格式化文件名。

看到更多的xdebug documentation

的另一种选择是使用File/Add menu in KCachegrind

增加一个配置文件数据文件到当前窗口。通过这种方式,您可以强制 多个数据文件被加载到同一个顶层窗口即使 他们是不是来自同一个运行在配置数据文件 命名惯例给出。