我可以在xdebug profiler上手动说出在特定位置开始分析吗?

时间:2011-11-10 10:20:37

标签: php profiling xdebug

我已经在我的XAMPP安装中启用了xDebug分析,它运行正常。

现在我想询问是否有办法在源代码中说什么时候开始使用xDebug进行分析。

更具体地说,我想创建一个WordPress插件,我想说,从插件的起点开始分析并停止在插件的终点进行分析。

这可能吗?

注意:上面只是一个例子。它可以是CakePHP插件或我可能需要分析的新PHP类

2 个答案:

答案 0 :(得分:51)

编辑:每How to Turn On/Off Xdebug Profiling at Runtime?你无法在运行时实际启用/禁用(例如每个函数调用)。

您可以有选择地为每个请求启用探查器,这通常更好。 要实现此行为,请设置以下设置:

xdebug.profiler_enable_trigger=1
xdebug.profiler_enable=0

请注意,我们禁用了探查器并仅启用了触发器。 从您的浏览器传递XDEBUG_PROFILE = 1

http://example.com/file.php?XDEBUG_PROFILE=1

您也可以在POST或COOKIE中传递此参数。有关详细信息,请查看

  1. http://xdebug.org/docs/profiler#starting
  2. http://xdebug.org/docs/all_settings#profiler_enable_trigger

答案 1 :(得分:5)

正如Laith所说,您不能选择何时希望xDebug开始分析以及何时希望他停止分析。但是,另一个xDebug功能提供了这种灵活性:跟踪。

分析和跟踪不完全相同,但是,如果你最终在这里,跟踪可能适合你的需要。

要开始跟踪,您必须使用此功能: xdebug_start_trace()

要停止跟踪,您必须使用此功能: xdebug_stop_trace()

您可以使用很多设置来更改跟踪行为:

http://xdebug.org/docs/execution_trace