Сложность отладки Magento 2 с помощью xdebug без вызова writeClose () - PullRequest
0 голосов
/ 06 марта 2020

Как видно из заголовка, в некоторых ситуациях я перехожу через код Magento 2, только для него от go до Magento\Framework\Session\SessionManager::writeClose(), таким образом вызывая session_write_close() и немедленно завершая приложение. Стек вызовов практически пуст, поэтому я не вижу, что это вызывает. Однако, если я вставлю точку останова и продолжу оттуда, она загружает веб-сайт, как будто ничего не произошло.

Кажется, что это происходит только на веб-сайтах Magento 2, где это внезапно завершается таким образом, однако я не уверен, что это может быть проблема с xdebug, Apache или PHP -FPM.

Есть ли причина, по которой вызывается writeClose, и как я могу предотвратить повторение этого во время отладки?

Сведения о системе:

  • Linux Ubuntu 18.04.2 LTS (в WSL)
  • PHP Версия: 7.0.33
  • Сервер API: FPM / FastCGI
  • версия xdebug: 2.8.1

Если вам требуется дополнительная информация, оставьте комментарий, и я обновлю соответствующим образом: -)

1 Ответ

0 голосов
/ 09 марта 2020

writeClose вызывается, когда вы получаете исключение.

Нет способа предотвратить это.

Решение состоит в том, чтобы найти, где находится исключение, путем глубокой отладки.

Когда вы отлаживаете, затем пытаетесь использовать F7 больше, а не нажимать F8, вы будете go выполнять все функции и получать, где исключение. Затем вы видите root причину сообщения об исключении.

...