Netbeans PHP调试器中的缩写值

时间:2016-11-03 18:27:25

标签: php debugging netbeans xdebug

我正在尝试调试动态创建大型SQL查询的WordPress插件。插件本身不会组装整个查询,但它会挂钩posts_clauses操作,并将查询的组件发送给WP。然后WP query.php文件将它们组装在一个字符串变量中。我在插件代码中设置了一个断点,然后我逐步调用query.php并达到WP构建SQL字符串的程度。我想复制这个字符串,但它已经很长时间了,以至于Netbeans显示省略号和#34;缩短了"字符串完全显示之前。

我在Linux,PHP 5和xdebug上使用NB 8.2。在NB Options|PHP|Debugger标签中,我已经为"最大数据长度"输入了16384;我已经将以下行放入xdebug配置文件中了:

xdebug.var_display_max_data=16384

我已经重启了Netbeans和Apache,但问题仍然存在。显示的SQL字符串部分长度为2000个字符。

我知道我可以挂钩posts_pre_query WP操作,并记录查询,但是地狱,我正在调试,我不想添加丢弃的代码,迫使我更改源代码经过调试和测试后......

如何让NB在调试器中显示超过2000个字符的PHP字符串值?

1 个答案:

答案 0 :(得分:5)

在深入了解NB源代码后,我找到了解决方案。 nb.php.debugger.full.values属性控制是否截断值。要禁用变量截断,请编辑netbeans.conf文件并将-J-Dnb.php.debugger.full.values=true添加到netbeans_default_options选项的末尾:

netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Dnb.php.debugger.full.values=true"

之后重启IDE。

我之前不需要通过配置更改NB设置,因此这可能不是最好的方法。