Sublime xdebug 在 ..."get_option(" 没有断点处中断
Posted
技术标签:
【中文标题】Sublime xdebug 在 ..."get_option(" 没有断点处中断【英文标题】:Sublime xdebug breaks at ..."get_option(" without breakpoint 【发布时间】:2015-11-06 09:30:38 【问题描述】:我已经搜索和搜索,但找不到解决方案或遇到相同问题的人。
我有一个带有 wordrpress 安装的 xampp。我将 sublime 与 xdebug 一起使用,它可以很好地调试我的代码,但它会在我没有断点的许多地方中断。
在不同的文件和位置,我使用 wordpress 命令 get_option(); 获得选项。
$sub01 = get_option(woomps_sub01);
$sub02 = get_option(woomps_sub02);
在另一个文件中,它在 session->set 处中断:
WC()->session->set( 'sub_qty' , $total_qty );
如果我运行它,它会再次在另一行中断:
$result = @call_user_func_array(array($class, 'create'), $parameters);
然后它运行得更远,并在另一个文件中的另一个 get_option 处停止:
$items_left_start = get_option(woomps_limit01);
我的断点窗口是空的。我已经清除了缓存文件夹。是否有任何其他 xdebug 清除操作我可以尝试重置它?或者我在哪里可以找到有关如何学习 xdebug 如何将此行解释为断点的信息?
我找到了一篇关于隐形断点的文章,但对我来说不是这样。我在断点窗口中看不到任何内容。 https://forums.netbeans.org/ptopic43927.html
我正在使用运行功能。
【问题讨论】:
只有 Sublime 才会发生这种情况吗?我建议您尝试使用其他编辑器(例如 Netbeans、phpStorm...)来确定问题出在哪里,是在 PHP 配置中还是在 IDE 设置中。 好的。我添加了 phpstorm 并连接了 xdebug。它没有在“看不见的”断点处中断。然后我重新安装了 xampp 以确保。当我在 sublime 中再次开始调试时,它会在这个“看不见的断点”处中断。失败必定存在于崇高的某个地方,但在哪里呢?哼哼…… 我查看了 sublime 中 xDebug 的默认设置,我看到以下内容:// Break on exceptions, suspend execution // when the exception name matches an entry in this list value. "break_on_exception": [ // E_ERROR, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR "Fatal error", // E_RECOVERABLE_ERROR (since PHP 5.2.0) .... ],
我的代码中的某些东西会触发这个吗?
我想我看到了一些我应该在[Notice] Use of undefined constant woomps_sub01 - assumed 'woomps_sub01
之前看到的东西。我想这就是它为什么会坏的原因。我会尝试看看我是否可以覆盖这个设置。
【参考方案1】:
如果您进入Tools -> xDebug -> Settings - Default
,您将看到以下设置:
// Break on exceptions, suspend execution
// when the exception name matches an entry in this list value.
"break_on_exception": [
// E_ERROR, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR
"Fatal error",
// E_RECOVERABLE_ERROR (since PHP 5.2.0)
"Catchable fatal error",
// E_WARNING, E_CORE_WARNING, E_COMPILE_WARNING, E_USER_WARNING
"Warning",
// E_PARSE
"Parse error",
// E_NOTICE, E_USER_NOTICE
"Notice",
// E_STRICT
"Strict standards",
// E_DEPRECATED, E_USER_DEPRECATED (since PHP 5.3.0)
"Deprecated",
// 0
"Xdebug",
// default
"Unknown error"
],
“通知”会破坏我上面粘贴的代码。告诉 Sublime/xDebug 不要破坏此代码,进入 Tools -> xDebug -> Setings - User
粘贴设置中的整个代码 - 默认并删除有关通知的部分。 (这可能不是最佳做法,但对我有用)。
【讨论】:
这就是 xDebug 崩溃的原因和解决方案:***.com/questions/33586899/…以上是关于Sublime xdebug 在 ..."get_option(" 没有断点处中断的主要内容,如果未能解决你的问题,请参考以下文章
sublime+xdebug-client+xdebug-helper本地调试
如何使用 Xdebug + Sublime Text 3 调试 PHP 代码