3784494523

3784494523



mały, że powoduje tylko zły wynik, wtedy może być trudno określić czy do programu wkradł się robak.

Wyizolowanie źródła problemu

Jest to często najtrudniejszy krok podczas debuggowania. Jego celem jest zidentyfikowanie, która część programu powoduje błąd. Krok ten często wymaga iteracyjnego testowania. Dla programów podzielonych na moduły krok ten może być łatwiejszy dzięki sprawdzeniu poprawności danych przesyłanych pomiędzy interfejsami poszczególnych modułów. Jeżeli dane wejściowe były poprawne, a wyjściowe niepoprawne, to zlokalizowaliśmy moduł z błędem. Poprzez iteracyjne testowanie wejścia i wyjścia programista może zidentyfikować do kilku linii kodu miejsce wystąpienia błędu.

Zidentyfikowanie przyczyny błędu

Kiedy już znaleźliśmy miejsce wystąpienia błędu, kolejnym krokiem jest ustalenie przyczyny tego błędu. Dobra znajomość programu może okazać się tu niezbędna. Wyszkolony debugger może, co prawda, znaleźć miejsce wystąpienia błędu, ale już tylko osoba dobrze znająca program może precyzyjnie określić przyczynę błędu. Kiedy już znamy przyczynę błędu, dobrym pomysłem może być przejrzenie podobnych sekcji kodu celem sprawdzenia, czy ten sam błąd nie został powielony w innych miejscach.

Określenie sposobu naprawy

Następnym krokiem powinno być określenie sposobu naprawy błędu. Dokładna znajomość programu jest tu niezbędna dla wszystkich (może poza tymi najbardziej banalnymi) rodzajów błędów. Jest to spowodowane tym, że naprawa zmienia aktualne zachowanie programu i może skutkować nieoczekiwanymi rezultatami. Co więcej, naprawa pojedynczego błędu może spowodować powstanie nowych błędów lub ujawnienie się innych błędów istniejących w programie.

W niektórych przypadkach naprawa może być prosta i oczywista. Jest to dosyć proste podczas błędów natury logicznej, kiedy oryginalny projekt został nieprawidłowo zrozumiany i zaimplementowany. Z drugiej jednak strony, jeżeli jednak problem ujawnia jakiś bardziej złożoną wadę projektową, wtedy problem może być nie tylko trudny, ale nawet niemożliwy do naprawy. Może to czasem prowadzić do konieczności przepisania całego programu od nowa.

Czasem warto także zastosować szybką naprawę, która będzie poprzedzała dokładną naprawę w przyszłości. Decyzja taka powinna być podjęta



Wyszukiwarka

Podobne podstrony:
pierwszoplanową rolę. Tylko wtedy może być to zjawisko kluczem do wszystkich warstw dzieła - począws
72811 łucznikD04 Rys. 44 JTi/S. 44 a skośnie. Szew na obrębie może być prosty lub zygzakowy. Do obr
Punkt winien być zaznaczony tylko delikatnym nakłuciem, nie może być większe oznaczenie ze względu n
Kolendowicz4 Rys. 2-11 może być rozłożone na elemencie konstrukcyjnym nierównomiernie. Przyjmuje si
Ataki można również podzielić ze względu na przepływ informacji. Przykładem może być przechwycenie
CCF20101207013 [...] pojawia się potrzeba uznania, że wybór pytań i metod badawczych nie może być ł
większa. Niestety ze względu na technologiczne ograniczenia nie może być stosowana do symulacji prze
Kontrola kontroli: •Ocena wyników kontroli, jeśli prawo tak stanowi wynik kontroli może być
1526315Y441372729415906712229 n 26 Rozdział I Kogniiywii nck. Wskazuje ona także, że efektem zbyt d
SDC11112 pojęcia źródła w filozofii postmodernistycznej sprawiło, że żadna h

więcej podobnych podstron