2015-04-28 57 views
6

Używam xdebug do debugowania aplikacji php z phpstorm. W większości przypadków działa debugowanie. Mam jednak wielokrotnie obserwowano następujące zachowanie:Przeglądarka zawiesza się, nawet jeśli nie ustawiono żadnego punktu przerwania w XDebug/PHPStorm

  1. I kliknij „Posłuchaj dla połączeń przychodzących” enter image description here
  2. Nie dodawaj breakpoint
  3. odświeżyć stronę w Chrome
  4. Zobacz, że strona zawiesza się na zawsze
  5. Zobacz, że proces phpstorm nie jest zatrzymywany w punkcie przerwania

To prawie tak, jak przeglądarka myśli, że jest zatrzymany w punkcie przerwania, nawet jeśli tak nie jest. Zamknięcie i ponowne otwarcie burzy rozwiązuje problem tymczasowo, ale problem zawsze powraca. Kliknięcie "przestań słuchać połączeń przychodzących" pozwala załadować stronę, ale oczywiście uniemożliwia mi wprowadzenie punktów przerwania. Zachowanie to występuje nawet wtedy, gdy I do dodać punkt przerwania, co oznacza, że ​​mój punkt przerwania jest całkowicie ignorowane.

Jeśli to pomaga, here's my xdebug config i używam php5.5 downloaded from here.

+0

1) Wersja xdebug/PhpStorm? 2) Zbierz dzienniki xdebug i zobacz, co tam powiedzą: http://xdebug.org/docs/all_settings#remote_log. Na podstawie twojego zrzutu ekranu nie jesteś w tej chwili w sesji debugowania (w przeciwnym razie wyświetliłyby się okna narzędzi do debugowania). Plus tylko posiadanie IDE nasłuchującego na połączeniu nie powinno nic poważnego - wszystko, co widzę na moim setupie jest prawdopodobnie 0,5-1 sec opóźnienie w podobnej sytuacji. – LazyOne

+0

* "Kliknięcie" zatrzymaj nasłuchiwanie połączeń przychodzących "pozwala załadować stronę, ale oczywiście uniemożliwia mi wprowadzenie punktów przerwania." * Interesujące ... ponieważ możesz dodać/usunąć punkt przerwania w dowolnym momencie. Punkt przerwania może nie zostać poprawnie zarejestrowany/usunięty, jeśli występują pewne problemy .. ale w IDE zostaną ustawione poprawnie. – LazyOne

+0

Mam ten sam problem, chociaż działa on przez jakiś czas. Co jakiś czas muszę zrestartować PHPStorm, aby usunąć ten problem. – TobyG

Odpowiedz

2

Kilka razy miałem podobny problem i stwierdziłem, że zwykle występuje po usunięciu punktu przerwania, na którym jest obecnie zatrzymywany podczas uruchamiania narzędzia do debugowania. Wykonanie będzie kontynuowane, zatrzymując się w nieistniejącym punkcie przerwania, tak jakby nie zostało usunięte. Rozwiązaniem, które znalazłem, jest po prostu zatrzymanie procesu debugowania w PhpStorm i ponowne uruchomienie go, problem powinien zostać usunięty.

4

Stare pytanie, ale od niedawna także mając ten problem, na PHPStorm 2016.1

Jak na obrazku poniżej, pod ustawień debugowania, odznaczając te stały problem dla mnie.

enter image description here

0

miałem dokładnie taki sam problem. Jeśli ktoś inny ma ten problem, spróbuj ponownie uruchomić Apache i MySQL i sprawdź, czy to rozwiązało problem.