2015-06-03 2 views
1

Я пытаюсь отладить мои Codeception тестов.Отладка с помощью XDebug + PHPStorm заставляет меня всегда вступать в

Моя отладки платформы с использованием PhpStorm + XDebug работает больше при использовании из браузера с правой IDE-KEY как печенье.

Однако при попытке отладки codecept с помощью CLI я сталкиваюсь со следующей проблемой:

  • Если я ставлю точку останова в моем классе Cest, поведение нормально. Я могу пропустить функции и нажать «Возобновить», чтобы остановить отладку.
  • Но всякий раз, когда я ставлю точку останова, которая находится в моего кода (контроллеры IE или мои классы пространства имен), Xdebug становится непригодной для использования:

Если я пытаюсь Резюме, Step Out или Шаг за, xdebug игнорирует мой запрос и всегда Шаги в текущей строке.

Это делает мои испытания действительно трудными для продолжения.

Я пробовал использовать две платформы: и мой обычный бродяга + nginx + php5-fpm (с удаленным отлаживанием), а также wamp (local debug).

Любая помощь будет оценена!

-

Update: Ну, это не имеет ничего общего с Codeception. Я пробовал тестировать только с PHPUnit и то же самое происходит. Не похоже, что проблема связана с CLI, так как я пытался отлаживать PHPUnit из браузера, не повезло.

Я думал, может быть, это PhpStorm ошибка, но, глядя на журнал XDebug, я вижу правильные методы называются:

<- step_over -i 41 
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="step_over" transaction_id="41" status="break" reason="ok"> 

step_over называется, не step_into. Может быть, ошибка с xdebug?

Странно, что это не всегда происходит. После изменения конфигураций это иногда не происходит, но тогда ошибка, кажется, возвращается ...

ответ

3

Я столкнулся с этой же проблемой и смог исправить ее, удалив каталог .idea и обновив PHPStorm.

Это казалось тяжелым решением для меня, и после некоторых проб и ошибок я смог проследить проблему до часов, которые были определены в PHPStorm.

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

+0

У меня была такая же проблема, кроме того, что мой шторм вышел, вместо того, чтобы перешагнуть (что приводит к очень короткому опыту отладки). Первое, что я сделал после того, как прочитал ваше решение, переименовал мой каталог .idea. Удивительно это сработало (после того, как я попробовал несколько других решений, которые не имели никакого эффекта). Затем я назвал каталог обратно в .idea и проблема вернулась. После этого я попытался удалить все свои часы и вуаля, он снова отлично поработал. Большое вам спасибо за это, это заставило меня с ума! <3 – x3ro

2

У меня тоже возникла аналогичная проблема. Для меня PHPStorm всегда выпрыгивает, независимо от того, какой запрос я сделал.

Снятие всех часов также устраняет проблему для меня!

Смежные вопросы