我已经在我的XAMPP安装中启用了xDebug profiling,并且它可以正常工作。
现在我想问一下,是否有一种方法可以在我的源代码中指定何时使用xDebug进行profiling。
更具体地说,我想创建一个WordPress插件,并且我想要从插件的起始点开始profiling,并在插件的结束点停止profiling。
这可行吗?
注意:以上只是一个示例。它可以是一个CakePHP插件或我需要profiling的新PHP类。
编辑:根据如何在运行时打开/关闭Xdebug分析, 您实际上无法在运行时启用/禁用(例如每个函数调用)。
您可以选择性地在每个请求中启用分析器,这通常更好。 为了实现此行为,请设置以下设置:
对于xdebug 3 (升级指南):
xdebug.mode = profile;
xdebug.start_with_request = trigger;
对于xdebug 2:
xdebug.profiler_enable_trigger=1
xdebug.profiler_enable=0
请注意,我们禁用了分析器,并仅启用触发器。从您的浏览器传递XDEBUG_PROFILE=1。
http://example.com/file.php?XDEBUG_PROFILE=1
你也可以将此参数作为POST或COOKIE传递。更多信息请参考:
正如Laith所说,您不能选择何时启动xDebug进行分析和何时停止分析。但是,另一个xDebug功能提供了这种灵活性:追踪(trace)。
分析(profiling)和追踪并不完全相同,但如果您到达了这里,可能追踪会满足您的需求。
要开始追踪,您必须使用此函数:
xdebug_start_trace()
要停止追踪,您必须使用此函数:
xdebug_stop_trace()
有许多设置可用于更改追踪行为: