问题标签 [xdebug-3]

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 回答
62 浏览

php - PhpStorm Xdebug 断点消失?

我正在使用 Xdebug 和 PhpStorm 来调试 PHP 应用程序。

就实际进行调试而言,这一切都完美无缺,但是,PhpStorm 会间歇性地删除我设置的所有断点。

似乎没有导致这种情况的模式或动作,到目前为止它似乎完全是随机的(尽管我知道它可能不是)。

这是发生的事情:

  • 我向各种文件添加 10 或 15 个断点。
  • 我设置了大量测试数据来找出问题。
  • 我开始调试并意识到它并没有在我的任何断点处停止,所以我检查了 PhpStorm 中的断点列表,它们都消失了。所以我必须回到第 1 步,重做所有测试数据并记住设置断点的地方。

IntelliJ / PhpStorm 支持人员表示他们以前从未听说过这种情况,只是告诉我基本上“恢复出厂设置并重试”以查看是否有帮助。

我宁愿把它作为最后的手段,因为我需要很长时间才能让一切恢复到我想要的状态,所以我希望其他人也经历过这种情况,而我不仅仅是疯了?

我使用的是最新版本 2021.3(内部版本 #PS-213.5744.279,构建于 2021 年 12 月 2 日)

我今天做了很多调试,已经发生了 7 或 8 次。有时它不会整天发生。

0 投票
0 回答
23 浏览

php - 另一个 XDEBUG - NETBEANS 等待连接 Fedora 35 Netbeans 12.6

在旧的经典 MacPro 上新安装 Fedora 35。问题是配置 Netbeans XDebug 的问题。花了几个小时,想挑选别人的大脑,因为我的大脑是在这个上拍摄的。

主机计算机信息 操作系统:Fedora Linux 35(工作站版) CPE 操作系统名称:cpe:/o:fedoraproject:fedora:35 内核:Linux 5.15.13-200.fc35.x86_64 架构:x86-64 硬件供应商:Apple Inc.硬件型号:MacPro3,1

PHP/Zend OPCache 和 XDebug 显示已安装:

PHP 8.0.14 (cli) (built: Dec 16 2021 03:01:07) (NTS gcc x86_64) 版权所有 (c) The PHP Group Zend Engine v4.0.14, 版权所有 (c) Zend Technologies with Zend OPcache v8.0.14,版权所有 (c),Zend Technologies 和 Xdebug v3.1.2,版权 (c) 2002-2021,D​​erick Rethans

来自 xdebug_info() php 页面的相关信息是:

启用功能(通过'xdebug.mode'设置)功能启用/禁用文档开发助手✔启用覆盖✘禁用GC统计✘禁用分析器✘禁用步骤调试器✘禁用跟踪✘禁用可选功能压缩文件支持是(gzip)时钟源clock_gettime诊断日志没有消息 PHP Build Configuration Version (Run Time) 8.0.14 Version (Compile Time) 8.0.13 Debug Build no Thread Safety disabled Settings

Php.ini - output_buffering 设置为 OFF。

每次都会询问调试 URL,但我还设置了网站的默认页面。

设置主机名 www.devop。我在 php.ini 文件中尝试了 127.0.0.1、localhost 和 www.devop。这些似乎都没有效果。

当我运行调试时,我的输出 URL 是:

http://www.devop/index.php?XDEBUG_SESSION_START=netbeans-xdebug

PHP.INI 文件的底部我放置了 Netbean XDEBUG 信息窗口中推荐的代码。

Xdebug 似乎正在机器上运行。只是不想在 Netbeans 内部连接到 XDebug。

0 投票
0 回答
76 浏览

php - Xdebug 在 Mac 上不起作用(使用 PhpStorm)

我最近不得不切换到 MacOS 进行开发。以前我让 Xdebug 运行良好,我想再次使用它的巨大帮助。

我在这里遵循了 Mac/homebrew 说明:https ://xdebug.org/docs/install#pecl以及我在这里找到的更多信息:https ://xdebug.org/docs/install#configure-php

php -v:

在我的 php.ini 中(我仔细检查了它是否正确)我附加了 zend_extension=xdebug

我在 docker 设置上运行我的网站,并且正在使用 PhpStorm,以下是设置:

在此处输入图像描述

在此处输入图像描述

我在 Chrome 中安装了 Xdebug 扩展,并确保 PhpStorm 正在监听。但是,当我在主控制器中放置断点并导航到该页面时,页面加载时没有遇到任何断点。

phpinfo()还显示 xdebug 已加载:在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

我注意到 phpinfo 转储中显示的 xdebug 版本与我下载并安装的 xdebug 版本不匹配:

在此处输入图像描述

0 投票
2 回答
62 浏览

php - Xdebug 3 未包含在 phpinfo() 中

我在使用 Big Sur 的 Mac OS 上遇到 Xdebug 问题。下面,我将解释发生了什么。

  1. 当我运行时phpinfo()- 我根本看不到 Xdebug 部分。
  2. 当我运行诸如xdebug_call_file()它之类的命令时会引发PHP Fatal error: Uncaught Error: Call to undefined function错误。

以下是所有配置:

php -v

在此处输入图像描述

PhpStorm 显示 Debugger 处于活动状态:

在此处输入图像描述

php.ini(/usr/local/etc/php/8.0/php.ini) 有这些配置:

PhpStorm 没有检测到 Xdebug 来设置解释器:

在此处输入图像描述

有谁知道 Xdebug 没有出现可能是什么问题?

0 投票
0 回答
67 浏览

php - 让 Xdebug 3 与 VSCode 一起工作的问题

我有一个基于 Ubuntu 20.10 (Groovy Gorilla)的Vagrant 设置,用于处理定制的 PHP项目,我用它作为开发 PHP 项目的基础。我意识到那个版本的 Ubuntu 不支持了,所以我更新到 hirsute (21.04)(因为它仍然有 PHP 7.4)我有一个工作的 Xdebug 配置工作,但显然升级时坏了。

我跑去sudo ufw allow 9000尝试打开防火墙,但显然这根本没有任何效果。

为了让调试器正确附加,我缺少什么?

xdebug.ini 用于 2.x 版(有效):

版本 3 的 xdebug.ini:

启动.json:

xdebug.log

xdebug_info()

0 投票
1 回答
29 浏览

php - 如何截断堆栈跟踪中的长参数?

我试图在内存耗尽时控制 Xdebug 的输出。我发现如果将一个很长的字符串传递给一个函数(然后内存随后耗尽),Xdebug 会将整个参数转储到堆栈跟踪中而不会截断。

获取包含长字符串参数的堆栈跟踪的一些示例代码:

来自未捕获异常的 PHP 的正常堆栈跟踪如下所示:

60 字节的$data参数被整齐地截断为 15 个字符加上一个省略号。

但是要在内存耗尽后获得堆栈跟踪,我需要启用 Xdebug。启用 Xdebug 3 后,我不会截断长参数;我明白了:

要获得此输出,您必须设置xdebug.show_exception_trace = On. 很容易看到真正的内存耗尽,但这对于发布可重现的代码很方便。跟踪格式与不可处理的错误相同。

我不是在问如何处理异常,或者打印我自己的自定义堆栈跟踪。我在询问 Xdebug 在无法进行错误处理的情况下的默认输出。

我弄乱了许多 Xdebug 设置,似乎无法控制它的显示方式。

0 投票
0 回答
10 浏览

xdebug - 在 QCacheGrind 错误路径中找不到源代码

正如您在图像中看到的,路径错误,但我不知道如何更改它。 在此处输入图像描述

0 投票
0 回答
30 浏览

php - M1 - PHP 警告:加载 Zend 扩展 'xdebug' 失败

我想在我的本地环境中安装 Xdebug,我遵循了 Xdebug 向导,但是通过命令安装后,php -v我收到了来自上面的警告。

我试过安装arch -x86_64 sudo pecl install xdebug,不工作。

which php->/Applications/XAMPP/xamppfiles/bin/php

php -v->

php.ini

任何想法?

0 投票
1 回答
18 浏览

php - Mac M1 Silicon 上的 Apache 不会加载 xdebug.so -“代码签名在进程中使用无效”

我正在设置一个新的 macbook(Monterey 12.2.1 芯片 Apple M1 Pro),并安装了 PHP 7.4 和 homebrew。我将 PHP 配置为作为 MacOS (Apache/2.4.51) 附带的 Apache2 服务器的模块运行。我立即遇到了麻烦,因为在我对它进行代码签名之前,看门人不允许我将 php 作为 apache 模块从 homebrew 运行。我确实对它进行了代码设计:

codesign --sign "Mike Andersen" --force --keychain ~/Library/Keychains/login.keychain-db /opt/homebrew/opt/php@7.4/lib/httpd/modules/libphp7.so

之后 PHP 完美运行。然后我用 PECL 安装了 xdebug:arch -x86_64 sudo pecl install xdebug

当我从命令行检查它时,一切看起来都正确:

但从浏览器加载失败 - 浏览器列出了 99-xdebug.ini 文件:

但没有关于 xdebug 的其他内容。我检查了 apache 错误日志并看到:

我也尝试签署 xdebug.so 文件:

并重新启动了 apache,但在 apache 日志中仍然出现相同的错误。我也试过重新签名 PHP,没有帮助。我也尝试过禁用网守:

那也没什么区别。

我整个早上都在谷歌上搜索,找不到任何关于如何解决这个问题的信息。现在一定有人已经看到了,所以我希望你们中的一个人是那个人,可以帮助兄弟。提前感谢您提供的任何帮助。