Debugowanie. Jak wyszukiwać i naprawiać błędy w kodzie oraz im zapobiegać
Paul Butcher
Cena detaliczna: 39,00 zł
Twoja cena: 35,10 zł
Wydawnictwo: Helion
Oprawa: miękka
Numer katalogowy: 463276
Dostępność: 2 - 4 dni
Poleć znajomym:










Debugowanie. Jak wyszukiwać i naprawiać błędy w kodzie oraz im zapobiegać - opis
Mistrz debugowania w akcji!
- Jak tworzyć oprogramowanie, które łatwo się debuguje?
- Jak wykrywać potencjalne przyczyny problemów?
- Jak ominąć pułapki czyhające na programistów?
- Metoda empiryczna
- Reprodukcja błędów
- Diagnozowanie
- Wyszukiwanie błędów
- Wprowadzanie i wycofywanie poprawek
- Testowanie
- Przyczyny błędów
- Oprogramowanie samodebugujące
- Narzędzia wspomagające
Debugowanie. Jak wyszukiwać i naprawiać błędy w kodzie oraz im zapobiegać - 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. Debugowanie to coś więcej niż eksterminacja błędów (20)
- 1.2. Metoda empiryczna (22)
- 1.3. Struktura procesu debugowania (23)
- 1.4. Przede wszystkim rzeczy najważniejsze (24)
- 1.5. Do dzieła! (28)
- 2.1. Najpierw reprodukcja, potem pytania (29)
- 2.2. Kontrolowane zachowanie aplikacji (32)
- 2.3. Kontrolowane środowisko (32)
- 2.4. Kontrolowane dane wejściowe (34)
- 2.5. Ulepszanie reprodukcji (43)
- 2.6. Gdy błąd nie chce się ujawnić (52)
- 2.7. Podsumowanie (55)
- 3.1. Gdy debugowanie staje się nauką (57)
- 3.2. Sztuczki i chwyty (63)
- 3.3. Debuggery (70)
- 3.4. Pułapki (71)
- 3.5. Gry umysłowe (76)
- 3.6. Zweryfikuj swoją diagnozę (80)
- 3.7. Podsumowanie (81)
- 4.1. Czysta tablica (84)
- 4.2. Testowanie (85)
- 4.3. Eliminowanie przyczyn, nie objawów (87)
- 4.4. Refaktoryzacja (89)
- 4.5. Kontrola wersji (91)
- 4.6. Inspekcja kodu (92)
- 4.7. Podsumowanie (93)
- 5.1. Jak to w ogóle mogło działać? (95)
- 5.2. Co poszło nie tak? (97)
- 5.3. Nigdy więcej tego samego błędu (99)
- 5.4. Zamykanie pętli (102)
- 5.5. Podsumowanie (102)
- 6.1. Tropienie błędów (106)
- 6.2. Współpraca z użytkownikami (109)
- 6.3. Współdziałanie z innymi zespołami (116)
- 6.4. Podsumowanie (117)
- 7.1. Błędy mają pierwszeństwo (119)
- 7.2. Debugowanie a psychologia (122)
- 7.3. Zasypywanie przepaści jakościowej (125)
- 7.4. Podsumowanie (129)
- 8.1. Łatanie istniejącego oprogramowania (133)
- 8.2. Kompatybilność wersji (134)
- 8.3. Współbieżność (139)
- 8.4. Błędy heisenbergowskie (142)
- 8.5. Problemy z wydajnością (144)
- 8.6. Systemy osadzone (147)
- 8.7. Błędy w obcym oprogramowaniu (150)
- 8.8. Podsumowanie (154)
- 9.1. Automatyczne testowanie (155)
- 9.2. Kontrola wersji (158)
- 9.3. Automatyczne budowanie binariów (163)
- 9.4. Podsumowanie (171)
- 10.1. Założenia i asercje (174)
- 10.2. Binaria debugowalne (184)
- 10.3. Wycieki zasobów i błędna obsługa wyjątków (189)
- 10.4. Podsumowanie (195)
- 11.1. Inflacja priorytetów (197)
- 11.2. Primadonna (198)
- 11.3. Zespół serwisowy (200)
- 11.4. Gaszenie pożaru (202)
- 11.5. Pisanie od nowa (203)
- 11.6. Bezpański kod (205)
- 11.7. Czarna magia (206)
- 11.8. Podsumowanie (207)
- A.1. Systemy kontroli wersji i śledzenia problemów (211)
- A.2. Narzędzia zarządzania generowaniem binariów i integracją ciągłą (215)
- A.3. Przydatne biblioteki (216)
- A.4. Inne narzędzia (218)



