Katalog książek

Wydawnictwo Helion

Helion SA
ul. Kościuszki 1c
44-100 Gliwice
tel. (32) 230-98-63




© Helion 1991-2012

Lauret zaufanych opinii
Informacje podstawowe
Debugowanie. Jak wyszukiwać i naprawiać błędy w kodzie oraz im zapobiegać

Debugowanie. Jak wyszukiwać i naprawiać błędy w kodzie oraz im zapobiegać

Autor: Paul Butcher
Data wydania: 2010/09
Stron: 240
Cena książki: 39.00 zł
okładka przód okładka tył
Do przechowalni
Dodaj debugo
Szczegóły:

Informacje dodatkowe:

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?

Zapewne niejednokrotnie podczas pracy przy komputerze musiałeś użerać się z wadliwymi aplikacjami. Doskonale wiesz, jak to jest, kiedy kolejne łatki usuwają stare błędy, równocześnie generując nowe, programiści zaś nie kwapią się do zmiany niewłaściwych założeń. A przecież jednym z najbardziej niedocenianych aspektów profesjonalnego programowania jest zdolność do rozpoznawania i usuwania błędów kryjących się w każdej większej partii stworzonego kodu. Jeśli tworzysz niebanalne aplikacje, najprawdopodobniej zajmiesz się ich debugowaniem chwilę po zakończeniu ich pisania. To zajęcie w zdecydowanie większym stopniu niż inne aspekty tworzenia oprogramowania jest działalnością intelektualną — ponieważ jego areną jest umysł programisty. Znajdowanie i wyjaśnianie przyczyn problemów powinno być pierwszą czynnością na drodze do ich zwalczania.

Ta książka poświęcona jest właśnie arkanom sztuki debugowania. Jej lektura pozwoli Ci znacznie ograniczyć liczbę popełnianych błędów, a te, które się pojawią, będą łatwiejsze do wykrycia i usunięcia. Podręcznik wyjaśni Ci, jak pisać kod, który łatwo debugować, przeprowadzi Cię przez proces wykrywania błędów, ich reprodukcji, diagnozowania, aż do wprowadzania i wycofywania poprawek w oprogramowaniu. Poznaj empiryczną metodę wykrywania błędów. Dowiedz się, jak ważne jest zapewnienie sobie pewnych sposobów reprodukowania błędnych zachowań. Naucz się unikać pułapek czyhających zarówno na programistów, jak i testerów. Stosuj powszechnie używane narzędzia i metody zapewniające automatyczne wykrywanie potencjalnych przyczyn problemów, zanim jeszcze się one pojawią! Naucz się tworzyć samodebugujące oprogramowanie, które automatycznie informuje o swoim stanie, a także sprawdź, co możesz zrobić, aby szybko wykrywać sytuacje będące potencjalną przyczyną problemó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

Dodaj debugo
Najczęściej kupowane razem:
Debugowanie. Jak wyszukiwać i naprawiać błędy w kodzie oraz im zapobiegać plus C#. Tworzenie aplikacji sieciowych. Gotowe projekty plus Od matematyki do programowania. Wszystko, co każdy programista wiedzieć powinien
Cena zestawu: 107.06 zł 125.95 zł
Oszczędzasz: 18.89 zł (15%)
Dodaj do koszyka
zestaw0 Debugowanie. Jak wyszukiwać i naprawiać błędy w kodzie oraz im zapobiegać
Osoby, które kupowały tę książkę, często kupowały też:
<strong><a href="/ksiazki/maalpr.htm" style="color:black;" title="Od matematyki do programowania. Wszystko, co każdy programista wiedzieć powinien">Od matematyki do programowania. Wszystko, co każdy programista wiedzieć powinien</a></strong><br/> <img src="/img/45.gif" class="stars" /> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 37.95 zł</b> </td><td> <a href="/zakupy/add.cgi?id=maalpr"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj maalpr" /></a> </td> </tr> </table> <strong><a href="/ksiazki/cshta2.htm" style="color:black;" title="C#. Tworzenie aplikacji sieciowych. Gotowe projekty">C#. Tworzenie aplikacji sieciowych. Gotowe projekty</a></strong><br/> <img src="/img/5.gif" class="stars" /> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 49.00 zł</b> </td><td> <a href="/zakupy/add.cgi?id=cshta2"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj cshta2" /></a> </td> </tr> </table> <strong><a href="/ksiazki/htcssp.htm" style="color:black;" title="HTML5 i CSS3. Standardy przyszłości">HTML5 i CSS3. Standardy przyszłości</a></strong><br/> <img src="/img/5.gif" class="stars" /> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 49.00 zł</b> </td><td> <a href="/zakupy/add.cgi?id=htcssp"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj htcssp" /></a> </td> </tr> </table> <strong><a href="/ksiazki/algor4.htm" style="color:black;" title="Algorytmy. Wydanie IV">Algorytmy. Wydanie IV</a></strong><br/> <img src="/img/5.gif" class="stars" /> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 149.00 zł</b> </td><td> <a href="/zakupy/add.cgi?id=algor4"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj algor4" /></a> </td> </tr> </table> <strong><a href="/ksiazki/linobj.htm" style="color:black;" title="LINQ to Objects w C# 4.0">LINQ to Objects w C# 4.0</a></strong><br/> <div style="height:8px;"></div> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 49.00 zł</b> </td><td> <a href="/zakupy/add.cgi?id=linobj"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj linobj" /></a> </td> </tr> </table> <strong><a href="/ksiazki/winazu.htm" style="color:black;" title="Windows Azure. Wprowadzenie do programowania w chmurze">Windows Azure. Wprowadzenie do programowania w chmurze</a></strong><br/> <div style="height:8px;"></div> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 39.00 zł</b> </td><td> <a href="/zakupy/add.cgi?id=winazu"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj winazu" /></a> </td> </tr> </table> <strong><a href="/ksiazki/jascwz.htm" style="color:black;" title="JavaScript. Wzorce">JavaScript. Wzorce</a></strong><br/> <div style="height:8px;"></div> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 39.00 zł</b> </td><td> <a href="/zakupy/add.cgi?id=jascwz"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj jascwz" /></a> </td> </tr> </table> <strong><a href="/ksiazki/antysq.htm" style="color:black;" title="Antywzorce języka SQL. Jak unikać pułapek podczas programowania baz danych">Antywzorce języka SQL. Jak unikać pułapek podczas programowania baz danych</a></strong><br/> <div style="height:8px;"></div> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 69.00 zł</b> </td><td> <a href="/zakupy/add.cgi?id=antysq"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj antysq" /></a> </td> </tr> </table> <strong><a href="/ksiazki/ticpp2.htm" style="color:black;" title="Tablice informatyczne. C++. Wydanie II">Tablice informatyczne. C++. Wydanie II</a></strong><br/> <div style="height:8px;"></div> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 12.90 zł</b> </td><td> <a href="/zakupy/add.cgi?id=ticpp2"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj ticpp2" /></a> </td> </tr> </table> <strong><a href="/ksiazki/a21pkp_ebook.htm" style="color:black;" title="AutoCAD 2011 PL. Pierwsze kroki. eBook. ">AutoCAD 2011 PL. Pierwsze kroki. eBook. </a></strong><br/> <div style="height:8px;"></div> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 27.90 zł</b> </td><td> <a href="/zakupy/add.cgi?id=a21pkp_ebook"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj a21pkp_ebook" /></a> </td> </tr> </table> <strong><a href="/ksiazki/prokop.htm" style="color:black;" title="Profesjonalne tworzenie kopii zapasowych i odzyskiwanie danych">Profesjonalne tworzenie kopii zapasowych i odzyskiwanie danych</a></strong><br/> <div style="height:8px;"></div> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 54.90 zł</b> </td><td> <a href="/zakupy/add.cgi?id=prokop"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj prokop" /></a> </td> </tr> </table> <strong><a href="/ksiazki/bekomp_ebook.htm" style="color:black;" title="Cisza w sieci. eBook. ">Cisza w sieci. eBook. </a></strong><br/> <div style="height:8px;"></div> <table cellpadding="0" cellspacing="0" style="margin:0 auto;"> <tr> <td style="width:129px;height:24px;background:url(/img/tlopodkoszyk2.gif) no-repeat scroll 0 4px;padding-left:5px;"> <b>Cena: 29.90 zł</b> </td><td> <a href="/zakupy/add.cgi?id=bekomp_ebook"><img class="stars" src="/img/koszyk2.gif" alt="Dodaj bekomp_ebook" /></a> </td> </tr> </table>
Wyszukiwanie przyczyn niewłaściwego zachowywania się programu i ich wyeliminowanie, czyli debugowanie programu, jest zmorą wszystkich programistów. Każdy, kto napisał jakiś program zna ten ból. Nie chodzi o błędy składniowe popełniane przez początkujących, bo kompilator nieco podpowie, a doświadczony programista szybko je wyłapuje. Błędy merytoryczne związane z nieodpowiednim opisaniem algorytmu, konflikt z systemem operacyjnym, czy przegapienie ustawień jakichś rejestrów konfigurujących są dużo trudniejsze do wykrycia. Nawet uruchomienie programu w trybie krokowym, co jest częstą praktyką, i śledzenie wartości zmiennych jest zawodne i nieefektywne. Wydaje się, że zalgorytmizowanie procesu debugowania, czyli "usprawniania" kodu programu, jest niemożliwe i tak istotnie jest. Niemniej jednak można pokusić się o podanie zasad jak tworzyć łatwe w poprawianiu oprogramowanie, jak wykrywać przyczyny problemów z błędami i omijać czyhające pułapki. Z tymi problemami zmierzył się Autor, publikując książkę poświęconą tej tematyce. Znajdą w niej cenne rady i wskazówki zarówno początkujący programiści jak i doświadczone wygi w tej dziedzinie, którzy z licznych historyjek, dygresji i refleksji przyswoją sobie jakieś elementy i zastosują we własnym warsztacie. W książce znajdziemy wskazówki jak przygotować kod, który łatwo debugować, zapoznamy się z procesem wykrywania błędów, ich reprodukcji, diagnozowania, wprowadzania poprawek w oprogramowaniu i rezygnacji z nich. Z jej pomocą nauczymy się używania narzędzi i metod zapewniających automatyczne wykrywanie potencjalnych przyczyn problemów, jeszcze przed ich wystąpieniem, a także tworzenia samodebugującego się oprogramowania, samoczynnie informującego o swoim stanie, z wykrywaniem źródeł potencjalnych problemów. Podsumowując: w książce znajdziemy pożyteczne informacje podane w swobodnej, gawędziarskiej formie (o czym świadczą wybrane przykładowo tytuły rozdziałów: W tym szaleństwie jest metoda, Chyba mamy problem, Pragmatyczna nietolerancja. Naucz swe oprogramowanie samodebugowania) z licznymi dykteryjkami i uściślającymi przypisami. Książka dla wszystkich parających się zawodowo programowaniem. Polecamy ją także początkującym programistom, aby opanowując tę sztukę nabierali już na starcie prawidłowych nawyków przygotowywania oprogramowania. Na zakończeni zacytujmy refleksję tłumacza: "Zmagając się więc dziś i na co dzień z błędami we własnych aplikacjach, przy użyciu wymyślnych nieraz sztuczek i forteli, warto jednocześnie słuchać rad innych, zwłaszcza tych, którzy w tej kwestii mają dużo do powiedzenia - jak Paul Butcher, autor tej książki...".

Elektronika Praktyczna JJP, 2011-06-01

pokaż wszystkie