Debugowanie: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja przejrzana]
Usunięta treść Dodana treść
spam (przez miesiąc nikt nie zauważył?)
Linia 3:
== Etymologia ==
{{osobny artykuł|Błąd (informatyka)}}
Popularyzację słowa ''bug'' (z [[język angielski|niemang.]] robak, insekt), rozumianego jako błąd, przypisuje się zazwyczaj admirał [[Grace Hopper]]. Podczas prac nad komputerem Mark II na [[Uniwersytet Harvarda|Uniwersytecie Harvarda]] jej współpracownicy znaleźli ćmę, która zaplątała się w [[przekaźnik]], utrudniając działanie urządzenia. Admirał Hopper nazwała usunięcie martwego owada debugowaniem, czyli odrobaczeniem. Pojęciem tym posłużył się jednak już w roku [[1878]] [[Thomas Edison]], który w jednym ze swoich listów określił słowem ''bugs'' usterki techniczne.
 
== Proces debugowania ==
Linia 17:
 
=== Wyizolowanie źródła błędu ===
Kolejnym etapem debugowania jest eliminacja wszystkich tych czynników, które nie przyczyniają się bezpośrednio do powstania błędu. Dotyczy to zarówno zbędnych kroków scenariusza interakcji, jak i ilości danych wejściowych, których nadmiar może utrudnić dotchdotarcie do źródła problemu. Eliminacja niepotrzebnych czynników ułatwia śledzenie duplikatów i jest tak bardzo istotna dla postępu pracy w dojrzałych systemach, że niektóre zespoły nakłaniają testerów do upraszczania już znalezionych błędów zamiast zgłaszania nowych<ref>W czerwcu [[1999]] Erick Krock z zespołu Mozilli [http://www.mozillazine.org/articles/article635.html oferował nagrody] za upraszczanie zgłoszeń błędów.</ref>.
 
W przypadku istnienia metody samoczynnego wykonania programu i określenia wyniku jego uruchomienia, krok ten można w dużej mierze zautomatyzować. Dokonuje się tego przy pomocy [[Wyszukiwanie binarne|wyszukiwania binarnego]], ograniczając ilość danych tak długo, aż odjęcie żadnego z najmniejszych elementów wejścia nie spowoduje błędu wykonania<ref>{{Cytuj pismo |nazwisko= Zeller |imię= Andreas |nazwisko2= Hildebrandt |imię2= Ralph |tytuł=Simplifying and Isolating Failure-Inducing Input |czasopismo= IEEE Transactions on Software Engineering |oznaczenie= Luty 2002 |wolumin= 28 |strony=183-200 |url= http://www.st.cs.uni-sb.de/papers/tse2002/}}</ref>.