问题标签 [xdebug-profiler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
68 浏览

php - 为什么 xdebug 将 587 和 588 标记为未执行,而将 589 标记为已执行?

这是有问题的代码块 在此处输入图像描述

这就是传说 在此处输入图像描述

0 投票
1 回答
56 浏览

php - 我应该如何让 Xdebug 只运行 CLI php 而不是 UI

我想将 Xdebug 配置设置为它只适用于 CLI 而不是浏览器的位置。原因是我只想为 CLI 测试这个工具。下面是xdebug.ini

0 投票
1 回答
517 浏览

php - Xdebug跟踪功能如何排除供应商目录

我正在使用 Xdebug 来分析我的 Laravel 代码。我使用跟踪和覆盖功能。

对于覆盖范围,我可以配置白名单和排除来配置我要分析的目录和文件。

但是对于trace,我不知道如何配置排除目录。像vendor,我认为它们没有变化,所以我想排除它们。我只想专注于我的代码。

您知道如何配置跟踪排除或黑名单吗?

0 投票
1 回答
154 浏览

php - 如何停止 Xdebug 以停止调试本身?

我正在将 Xdebug 与 Webgrind 一起使用。如果我在 php.ini 中使用以下设置,一切都可以正常工作:

如果我通过访问www.example.com/webgrind打开 webgrind ,则会显示 cache.out 文件,我可以很好地分析所有内容。

如果我使用这些设置,其中将为每个 url 启用 xdebug,则会生成 cache.out 文件,但是当我在 webgrind 中单击更新时,它只会继续加载。据我所知,xdebug 也会在此 url 上启动调试过程,因为 xdebug 已在整个站点上启用。

在 /webgrind 目录中工作时如何禁用 xdebug 进程但在其他任何地方保持启用?

我发现这篇文章的第二个答案清楚地提到了同样的事情。 wamp 上的 webgrind

在您提取代码的 Webgrind 目录中,添加一个 .htaccess 文件并将此内容放入其中以避免 webgrind 分析自身:

php_flag xdebug.profiler_enable 0

我有一个nginx+php-fpm设置,我已经将许多 .htaccess 规则转换为 nginx 重写规则,但不能这样做。

我怎样才能通过我的设置达到同样的效果,或者有没有其他方法可以让它工作?谢谢!

0 投票
2 回答
846 浏览

php - 尝试安装 xdebug php.ini 文件中没有 zend_extension

我尝试在 Windows 10 中安装 xdebug。php.ini 文件中没有 zend_extension。我遵循了这种方式:

但我找不到 zend_extension 。

0 投票
1 回答
43 浏览

php - PHP:如何使 INVOKING 内部函数更快

我正在尝试在执行请求期间优化称为 560x 的函数。

功能是这样的(一些信息已编辑):

使用 XDEBUG PHP profiler + Webgrind,我看到这个函数的这些统计信息(以毫秒为单位): 在此处输入图像描述

如您所见,在preg_match, explode, implode combined中只花费了 3ms 。剩下的 20 毫秒只用于调用这些函数并连接一些字符串。有没有办法可以降低此功能的总自身成本?

我试过添加

正如这里所建议的那样,但我没有看到任何改进。有什么建议么?

0 投票
0 回答
11 浏览

xdebug-profiler - Windows 上的 xdebug 3 配置文件生成完整的文件路径,混淆 QCachegrind

Windows 上的 Xdebug 3.1.1 通常会使用以下文件描述创建研磨文件

换句话说,它包括源文件的完整路径(不是相对路径)。这使 QCachegrind (0.7.4) 在查找源代码时感到困惑。它似乎将研磨文件本身的路径添加到它在 cgrind 文件中找到的路径之前,从而产生类似的东西 Y:/Temp/D:\Projekten\dwh_php7\inc\utils.php,显然不是源代码的位置。将研磨文件移动到项目文件夹会生成此文件,D:/Projekten/dwh_php7/\Projekten\guerbet\dwh_php7\inc\utils.php这也无济于事。

我如何向 Xdebug 解释不要将完整的源路径存储在 cgrind 文件中?qcachegrind 的开发人员非常有帮助地指出这是它应该工作的方式。但也许这是从 *nix 到 windows 的翻译中丢失的东西。

顺便提一句。项目路径设置为 Apache 中的虚拟目录。

0 投票
0 回答
28 浏览

php - 在 Laradock php-fpm 和工作空间上设置 Xdebug

如何在 Laradock 上为配置文件日志(通过触发器 - GET 参数)设置 Xdebug?

我试图在 php-fpm 和工作区中设置 xdebug.ini 文件。