2017-02-21 34 views
0

В Visual Studio Code (1.9.1) (mac) у меня есть установка плагина php-debug.Код Visual Studio - Xdebug не будет работать

В окне отладки я начинаю «слушать Xdebug '.
После этого я открываю index.php на моем сервере XAMPP (локальном).
Но ничего не происходит.

  • синий бар в нижней части экрана становится оранжевым.
  • кнопка «шаг вперед», «шаг за шагом» и «выходить» выходят серым цветом.
  • Также следующее сообщение об ошибке возникает при отслеживаемых переменных:
    не может оценить код без подключения

я пытаюсь использовать точки останова на следующий код:

<?php 
$i = 0; 

do { 
$i++; 
if (!($i % 1)) { 
    echo('<p>$i = ' . $i . '</p>'); 
    } 
} 
while ($i < 100); 
?> 

Я использую XAMPP и в моем файле php.ini я использую порт 9000 для Xdebug.

zend_extension="/usr/local/Cellar/php71-xdebug/2.5.0/xdebug.so" 
xdebug.remote_enable = 1 
xdebug.remote_autostart = 1 
xdebug.remote.port=9000 

Я установил Xdebug с помощью доморощенного.
Вот моя информация о php: phpinfo.htm
Xdebug wizard сообщает, что Xdebug установлен правильно.

мой launch.json файл выглядит следующим образом:

{ 
"version": "0.2.0", 
"configurations": [ 
    { 
     "name": "Listen for XDebug", 
     "type": "php", 
     "request": "launch", 
     "port": 9000, 
     "log": true 
    }, 
    { 
     "name": "Launch currently open script", 
     "type": "php", 
     "request": "launch", 
     "program": "${file}", 
     "cwd": "${fileDirname}", 
     "port": 9000 
    } 
] 
} 

Кто-нибудь знает, что я делаю неправильно?

После установки xdebug.remote_connect_back = 1 в ини файле
, как n00dl3 предложил отладки большую часть времени работает, но раз в то время я получаю следующее
ошибку в консоли отладки:

<- threadEvent 
ThreadEvent { 
    seq: 0, 
    type: 'event', 
    event: 'thread', 
    body: { reason: 'exited', threadId: 1 } } 
+0

Вы пытались установить 'xdebug.remote_connect_back = 1' в свой ini-файл? – n00dl3

+0

Это, кажется, работает большую часть времени сейчас, но раз в то время я получаю следующее сообщение об ошибке в консоли отладки: '<- threadEvent ThreadEvent { НомерСтарта: 0, типа:«событие», событие: ' thread ', body: {reason:' exited ', threadId: 1}} ' – Trapce

+0

Не знаю об этом – n00dl3

ответ

0

Это казалось корневой сервер необходимо установить в launch.json с localSourceRoot так:

{ 
    "version": "0.2.0", 
    "configurations": [ 
     { 
      "name": "Listen for XDebug", 
      "type": "php", 
      "request": "launch", 
      "port": 9000, 
      "log": true, 
      "localSourceRoot": "http://127.0.0.1/public_html/" 
     }, 
     { 
      "name": "Launch currently open script", 
      "type": "php", 
      "request": "launch", 
      "program": "${file}", 
      "cwd": "${fileDirname}", 
      "port": 9000 
     } 
    ] 
} 

Теперь точки останова работают так, как должны.