Почему не все свойства объекта отображаются в разделе переменных в отладчике - PullRequest
2 голосов
/ 07 февраля 2020

Я использую XDebug с отладчиком кода Visual Studio для некоторого кода PHP, и в разделе «Переменные» не отображаются все свойства одного из моих объектов. На приведенном ниже снимке экрана показано, что, если я добавлю $this->_data в раздел «Наблюдение», это свойство существует. Однако _data не отображается как свойство в $this в разделе «Переменные». Почему код Visual Studio не отображает все свойства в $this, и как мне заставить его показать все из них?

enter image description here

Ответы [ 2 ]

0 голосов
/ 04 мая 2020

Эта проблема должна быть связана с тем, защищен ли параметр или нет. В моем отладчике отображаются защищенные и закрытые параметры.

Похоже, это связано с настройками удаленного отладчика xdebug. В зависимости от используемого отладчика php вам, вероятно, потребуется настроить некоторые дополнительные параметры в вашем launch.json.

Например, я использую отладчик Felix Beckers php (https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-debug ), если вы прокрутите вниз до «Запустить. json настройки», вы увидите xdebugSettings.

Я добавил следующее к моим launch.json настройкам (для этого модуля), которые кажутся для работы:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9090,
            "xdebugSettings": {
                "max_children": 200,
                "max_data": 512,
                "max_depth": 4,
                "show_hidden": 1
            }
        }
    ]
}

ПРИМЕЧАНИЕ: Удаленная конфигурация, похоже, не поддерживает -l ни для одной из вышеуказанных настроек.

0 голосов
/ 07 февраля 2020

Вы должны попробовать установить

ini_set('xdebug.var_display_max_depth', -1);
ini_set('xdebug.var_display_max_children', -1);
ini_set('xdebug.var_display_max_data', -1)

Вы также должны прочитать объяснение настроек xdebugs: https://xdebug.org/docs/all_settings

...