Debugowanie to proces pozwalający na odnajdywanie błędów lub nieścisłości w kodzie. Z jego pomocą w łatwy sposób sprawdzimy rezultat działania każdej linii kodu. Wówczas przekazując różne zestawy danych do programu możemy dokonać krok po kroku szczegółowej analizy zachowania tworzonej aplikacji.
Debugowanie nie tylko do wychtywania błędów
Z wykorzystaniem narzędzia debugera możemy nie tylko odnajdować błędy w kodzie, ale również przyspieszyć swoja pracę. Jest to możliwe do osiągnięcia, ponieważ debugowanie dodatkowo pozwala na bieżący podgląd stanu obiektów.
O tym jak wykorzystać jego działanie w praktyce opisuje w moim artykule Debuger nie tylko do wychwytania błędów! Jak z niego korzystać? Natomiast jeśli interesuje Cię jak przeprowadzić sam jego proces debugowania do wyszukiwania błędów, to zapraszam Cię na film:
Debugowanie zdalne
Pytanie dotyczące tego tematu pojawiło się na jednej z moich rozmów kwalifikacyjnych.
Debugowanie zdalne pozwala na skomunikowanie się z uruchomioną aplikacją na komputerze innym niż na którym pracujemy (najczęściej z wykorzystaniem socketów). Następnie sprawdzamy działanie aplikacji dokładnie w taki sam w sposób jak wygląda to w klasycznym podejściu.
Czasem nie jest możliwe (lub jest bardzo problematyczne) pełne zreplikowanie środowiska produkcyjnego na własnym sprzęcie. Dlatego debugowanie zdalne może ułatwić sprawę poprzez łączenie się z instancjami developerskimi, stageowymi, lub w sytuacjach podbramkowych nawet z produkcyjnymi i na nich wyszukiwanie błędów.
Dobrym przykładem konieczności zastosowania debugowania zdalnego był jeden z projektów w jakim brałem udział. Pracowałem w zespole, który ze względu na warunki przetargu musiał opracować aplikacje desktopową na potrzeby Urzędów Gmin. Stworzyliśmy aplikacje, następnie sprawdzaliśmy ją na różnych instancjach – test/dev/stage. Problemem jednak było środowisko produkcyjne, którego nie byliśmy wstanie w 100% zreplikować. Ponieważ każdy Urząd Gminy był wyposażony w różne komputery, różne systemy operacyjne, a na różnych systemach operacyjnych były instalowane rozmaite sterowniki i oprogramowanie. Niestety skutkowało to, że ta sama aplikacja różnie zachowywała się u każdego z klientów.
Rozwiązaniem trudnych do wychwycenia błędów w takiej sytuacji było połączenie się zdalnie z komputerem użytkownika u którego występował błąd. Następnie zrobienie kopii zapasowej, uruchomienie debugowania zdalnego i finalnie przystępowanie do weryfikowania działania aplikacji.
W podejściu aplikacji internetowych możemy łatwo wypiąć instancję produkcyjną i zdebugować ją.
Cały proces realizacji debugowania zdalnego przedstawiam w materiale:
Debugowanie – podsumowanie
Debugger to świetne narzędzie bez którego nie wyobrażam sobie pracy. Warto od samego początku nauczyć się z niego sprawnie korzystać, żeby zaoszczędzić swój czas i frustracje. Zamiast starać się zrozumieć program patrząc na skomplikowany kod można w łatwy sposób – krok po kroku sprawdzić jaki rezultat daje każda linijka kodu i w ten sposób bez trudu dojść do błędu.