Wpis z mikrobloga

Byłem świadkiem jak dosyć doświadczony koleś, debugował apke w #php z pomocą wrzucanych w losowe miejsca vardumpów. Bardzo mi śmierdzi ten sposób ale może to jest normalna metoda? Ja lubie robić apki na maszynie wirtualnej więc u mnie najlepszą opcją jest panel debuggera tak jak w Symfony2, yii2. Są też pakiety dające taki panel np. do Laravela.
Wiem, też że np. webstorm IDE ma też fajne możliwości łączenia się z Xdebug na określonym porcie i wtedy można sobie komfortowo ustawiać breakpointy.

Są też oczywiście logi. No i var
dump też jest czasem ok, ale z opcją debug_backtrace. No i testy jednostkowe też pomagają(akurat ten koleś o którym piszę "nie miał czasu" na testy jednostkowe).

A wy jakie macie pomysły na debugowanie czegoś co działa na maszynie wirtualnej?
#programowanie
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Jojne_Zimmerman: tzw "polska szkoła 'd--a debug'" ;) popularne wciąż, niestety xdebug miewa chwilowe problemy z połączeniem z IDE i czasami szybciej zrobić tak. mam nawet skrót w Phpstormie 'dvd' który zmienia się po enterze na 'die(var_dump($var));' i korzystam ;) wstyd, ale działa.
  • Odpowiedz
@Jojne_Zimmerman: Często szybciej jest wpisać w IDE np. pre które mi się rozwinie do:
echo '

'; print_r( $var ); echo '
';exit(); // (takie bardziej zaawansowane echo "d--a";)
niż odpalać xdebuga i rozwijać katalog/drzewo obiektu.
  • Odpowiedz
@n_i_n: juz go znalazłem :) nie wiedziałem że można go używać także w kontrolerze, myślałem że tylko w twigu :) a tu sie okazuje ze pod konsola tez dziala (tylko nie dziala rozwijanie i zwijanie :) )
  • Odpowiedz
@Jojne_Zimmerman: Debugowanie przez wyświetlanie ma zasadniczą zaletę nad normalnymi debugerami: widzisz przebieg programu czy też jego fragmentu od razu po wykonaniu. W takim xdebugu musisz cały czas klikać pomiędzy breakpointami wybierać zmienne które chcesz podejrzeć (może nawet skopiować i gdzieś wkleić).
  • Odpowiedz