Debugowanie: Różnice pomiędzy wersjami
[wersja nieprzejrzana] | [wersja nieprzejrzana] |
Usunięta treść Dodana treść
m drobne redakcyjne |
m drobne redakcyjne |
||
Linia 19:
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ć dotarcie 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 |numer= 28 |strony=183-200 |url= http://www.st.cs.uni-sb.de/papers/tse2002/}}</ref>.
=== Identyfikacja przyczyny awarii ===
Linia 46:
=== Inne ===
Narzędzia śledzące alokację pamięci (np.
{{Przypisy}}
Linia 52:
== Bibliografia ==
# {{cytuj książkę |nazwisko= Zeller |imię= Andreas |tytuł= Why Programs Fail: A Guide to Systematic Debugging |url= http://www.whyprogramsfail.com |wydawca= Morgan Kaufmann |rok= 2005 |isbn = 1-55860-866-4 }}
== Linki zewnętrzne ==
|