Visual Studio代码调试数组评估

Che*_*her 14 php arrays debugging xdebug visual-studio-code

使用Visual Studio Code调试PHP时遇到一个小问题.XDebug工作正常,我能够在断点处停下来并通过将变量悬停在它们上或将它们添加到观察中来评估变量.但是,当我尝试查看具有超过32个项目的数组时,我只能看到前32个项目.例如,172个项目的数组将只显示32个项目.我尝试以某种方式评估此数组,在控制台内运行dump命令或json_encode,但无济于事.

有任何想法吗?

Che*_*her 24

感谢Phiter的评论,我设法找到了解决办法.

从本质上讲,XDebug可以配置文件php.ini中的各种选项.这些选项包括指定要在GUI上显示的对象深度的选项.

但是,在通过Visual Code的PHP Debug(felixbecker.php-debug)扩展进行调试时,必须在其他地方配置这些设置.本页列出了完整说明:https://github.com/felixfbecker/vscode-php-debug#supported-launchjson-settings 它的要点是打开左侧栏上的"调试"面板 - >单击齿轮用于打开包含调试器设置的launch.json文件的图标,以及 - >添加以下代码段:

{ "name": "Listen for XDebug", "type": "php", "request": "launch", "port": 9000, "xdebugSettings": { "max_children": 999, } },

而已.

  • 有一个非常相似的问题。然而,就我而言,问题不是孩子的数量,而是对象/数组的深度。我的数组只会显示 1 层深度所以除了添加 `"max_children": 999` 我还必须添加 `"max_depth": 10` (8认同)
  • 我在查看一些长字符串时遇到了问题,您可以将“max_data”设置为“-1”以禁用任何限制。 (4认同)