Debugowanie : jak wyszukiwać i naprawiać błędy w kodzie oraz im

Transkrypt

Debugowanie : jak wyszukiwać i naprawiać błędy w kodzie oraz im
Debugowanie : jak wyszukiwać i naprawiać błędy w kodzie oraz im
zapobiegać / Paul Butcher ; [tł. Andrzej Grażyński]. – Gliwice, cop. 2010
Spis treści
Od tłumacza słów kilka
9
Przedmowa
13
Część I. Istota problemu
Rozdział 1. W tym szaleństwie jest metoda
19
1.1.
1.2.
1.3.
1.4.
1.5.
20
22
23
24
28
Debugowanie to coś więcej niż eksterminacja błędów
Metoda empiryczna
Struktura procesu debugowania
Przede wszystkim rzeczy najważniejsze
Do dzieła!
Rozdział 2. Reprodukcja
29
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.
29
32
32
34
43
52
55
Najpierw reprodukcja, potem pytania
Kontrolowane zachowanie aplikacji
Kontrolowane środowisko
Kontrolowane dane wejściowe
Ulepszanie reprodukcji
Gdy błąd nie chce się ujawnić
Podsumowanie
Rozdział 3. Diagnoza
57
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
3.7.
57
63
70
71
76
80
81
Gdy debugowanie staje się nauką
Sztuczki i chwyty
Debuggery
Pułapki
Gry umysłowe
Zweryfikuj swoją diagnozę
Podsumowanie
Rozdział 4. Poprawki
83
4.1.
4.2.
4.3.
4.4.
4.5.
4.6.
4.7.
84
85
87
89
91
92
93
Czysta tablica
Testowanie
Eliminowanie przyczyn, nie objawów
Refaktoryzacja
Kontrola wersji
Inspekcja kodu
Podsumowanie
Rozdział 5. Refleksja
95
5.1.
5.2.
5.3.
5.4.
5.5.
95
97
99
102
102
Jak to w ogóle mogło działać?
Co poszło nie tak?
Nigdy więcej tego samego błędu
Zamykanie pętli
Podsumowanie
Część II. Szersza perspektywa
Rozdział 6. Chyba mamy problem...
105
6.1.
6.2.
6.3.
6.4.
Tropienie błędów
Współpraca z użytkownikami
Współdziałanie z innymi zespołami
Podsumowanie
106
109
116
117
Rozdział 7. Pragmatyczna nietolerancja
119
7.1.
7.2.
7.3.
7.4.
119
122
125
129
Błędy mają pierwszeństwo
Debugowanie a psychologia
Zasypywanie przepaści jakościowej
Podsumowanie
Część III. Debug-Fu
Rozdział 8. Przypadki szczególne
133
8.1.
8.2.
8.3.
8.4.
8.5.
8.6.
8.7.
8.8.
133
134
139
142
144
147
150
154
Łatanie istniejącego oprogramowania
Kompatybilność wersji
Współbieżność
Błędy heisenbergowskie
Problemy z wydajnością
Systemy osadzone
Błędy w obcym oprogramowaniu
Podsumowanie
Rozdział 9. Idealne środowisko debugowania
9.1.
9.2.
9.3.
9.4.
Automatyczne testowanie
Kontrola wersji
Automatyczne budowanie binariów
Podsumowanie
155
155
158
163
171
Rozdział 10. Naucz swe oprogramowanie samodebugowania
173
10.1.
10.2.
10.3.
10.4.
174
184
189
195
Założenia i asercje
Binaria debugowalne
Wycieki zasobów i błędna obsługa wyjątków
Podsumowanie
Rozdział 11. Antywzorce
197
11.1.
11.2.
11.3.
11.4.
11.5.
11.6.
11.7.
11.8.
197
198
200
202
203
205
206
207
Inflacja priorytetów
Primadonna
Zespół serwisowy
Gaszenie pożaru
Pisanie od nowa
Bezpański kod
Czarna magia
Podsumowanie
Dodatki
Dodatek A: Materiały
211
A.1.
A.2.
A.3.
A.4.
211
215
216
218
Systemy kontroli wersji i śledzenia problemów
Narzędzia zarządzania generowaniem binariów i integracją ciągłą
Przydatne biblioteki
Inne narzędzia
Skorowidz
223
oprac. BPK

Podobne dokumenty