【问题标题】:Uncaught exception 'ErrorException' in xdebug://debug-evalxdebug://debug-eval 中未捕获的异常“ErrorException”
【发布时间】:2017-01-19 15:39:09
【问题描述】:

我正在使用

Intellij 14.1.4、PHP v5.5.38、Xdebug v2.2.3

我做了一个更改,它定义了一个 php $GLOBALS['CRED_TYPE'] 变量。我后来删除了那个变量。我到处检查,这个变量不再在任何地方定义。它只是不在我的代码中。

但由于某种原因,我仍然遇到以下问题

( ! ) 致命错误:在第 1 行的 xdebug://debug-eval 中未捕获的异常 'ErrorException' 带有消息 'Undefined index: CRED_TYPE' ( ! ) ErrorException: Undefined index: CRED_TYPE in xdebug://debug-eval on line 1

我什至重新克隆了整个项目,但每当我尝试调试它时,它就会丢失(崩溃),有时我会遇到这个异常。这不应该在那里,因为没有这样的代码,但我为什么会得到这个。

也没有对该文件的回溯。我不知道该怎么办,请有什么想法?

【问题讨论】:

  • 可以缓存在某处吗?
  • 检查 IDE 中 PHP Debugger 视图的 Watches 框架。很可能您过去在那里添加了 $GLOBALS['CRED_TYPE'],现在 IDE 每次调试器停止时都会请求其评估。
  • 天哪……!!!这是多么愚蠢的错误。它在手表上是的!太感谢了。你救了我的头免于爆炸。
  • 我刚刚遇到了同样的问题,@axiac 的观察也对我有用(我正在使用 Netbeans)。不应该把它作为答案吗?
  • @Fractalizer 为什么不呢? ;-)

标签: php intellij-idea xdebug


【解决方案1】:

解码错误消息的关键是失败代码的位置:xdebug://debug-eval on line 1。它不是一个文件,而是由调试器动态生成和评估的代码。

每次脚本在调试器中停止时,调试器客户端(PhpStorm、NetBeans 等)都会为每个观察到的表达式向xdebug PHP 扩展(调试器服务器组件)发送一个eval() 命令。此代码在代码的当前范围内运行(脚本停止的地方)。

由于没有 $CRED_TYPE 全局变量,计算表达式 $GLOBALS['CRED_TYPE'] 会产生一个通知(“未定义索引:CRED_TYPE'”)并且您的项目设置的自定义错误处理程序会生成并抛出来自它的ErrorException。未捕获异常,脚本异常结束。

确保调试器的 Watch 窗口中的表达式列表不包含在您放置断点的代码范围内无效的表达式。

【讨论】:

  • 旧帖子但遇到了类似的问题。阻止 xdebug 产生错误(看似随机)的关键见解是:Make sure the list of expressions in the Watch window of your debugger does not contain expressions that are not valid in the scope of the code where you put a breakpoint. 当我从监视列表中删除不需要的变量(由于“未定义的索引”而出错)时,php 和 xdebug 的行为符合预期- 即,xdebug 停止产生类似xdebug://debug-eval in function unknown on line: 1 的错误
【解决方案2】:

这是 XDEBUG 问题,可以通过将 XDEBUG 版本降级(或升级,如果您使用非常旧的 PHP)到 2.6.1 来解决。 我不小心遇到了这个问题,无法找到答案。重新安装服务器、PHP、PHPStorm、不同版本的 XDEBUG 没有帮助。 对于 MacOS 可以使用

pecl install xdebug-2.6.1

如果你已经有更新的版本,你可以使用命令

pecl uninstall xdebug

经过几个小时的调查,this article 中的答案对我帮助很大。

【讨论】:

  • 仍然相关。我在PHP 7.2XDEBUG 2.9.1 上遇到了这些问题。 降级到 XDEBUG 2.6.1 解决了它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-23
  • 1970-01-01
相关资源
最近更新 更多