Czy są jakieś teorie lub książki dotyczące debugowania „ogólnie”? [Zamknięte]


12

Czytałem i studiowałem wiele informatyki i inżynierii i rzadko lub nigdy nie widziałem książki o debugowaniu ani teorii debugowania (choć z pewnością opracowałem własne teorie debugowania).

Czy są jakieś teorie debugowania i / lub książki? Dlaczego? Dlaczego nie? Mogę przeczytać, jak debugować za pomocą gdb i niektóre z najbardziej przydatnych informacji na temat rozwoju, które otrzymałem po przeczytaniu, jak używać gdb.


1
Co masz na myśli mówiąc debugging theory? Jakie tematy powinien obejmować?
superM,

5
Dwa artykuły, które (prawdopodobnie) będą dla ciebie interesujące: teoria planów debugowania i interpretacji oraz debugowania programu algorytmicznego
yannis

Tak, to się nazywa rozwiązywanie problemów: en.wikipedia.org/wiki/Problem_solving
AndreasScheinert

1
@SoboLAN Myślałem, że pytający chciał prawdziwej teorii debugowania, a 82/88 nie jest tak stary, podstawowe pojęcia są takie same ... Ale tak, nie o to pytanie.
yannis,

1
Wiele koncepcji w inżynierii oprogramowania jest dziś dość starych, ale nadal bardzo dobrze pasują do dzisiejszej sytuacji. Nie zapominajmy, że koło zostało opracowane miliony lat temu, a jednak nikt z nas nie ma problemu z jazdą 2 lub 4 z nich każdego dnia w życiu lol
user60812

Odpowiedzi:


6

Czytam Debugowanie IT od programistów Pragmatic. Jak prawie wszystkie książki od pragmatycznych programistów, jest to dość praktyczne, ale nie tak głębokie, ale miło było pomóc mi nauczyć nowych programistów, jak ustawić ich „sposób debugowania”. Nie ma czarnej magii, ale bardziej zdrowy rozsądek i prawie wszystko wygląda naprawdę intuicyjnie dla doświadczonych programistów.


6

Istnieje debugowanie: 9 niezbędnych zasad znajdowania nawet najbardziej nieuchwytnych problemów z oprogramowaniem i sprzętem . Nie pamiętam, żeby był strasznie głęboki lub w ogóle akademicki, ale z pewnością ma kilka interesujących spostrzeżeń i historii.

Jest to także bardzo przydatne, aby zobaczyć debugowanie z perspektywy sprzętu - generalnie, debugowanie sprzęt jest bardziej trudne niż debugowania oprogramowania. Każdy rozdział książki jest motywowany „historią wojenną” z doświadczenia autora; reszta rozdziału omawia techniki, które uznał za przydatne w tym konkretnym przypadku. Historie są fajnym połączeniem rozwoju zarówno sprzętu, jak i oprogramowania.

Z pewnością uznałem, że podejście do rozpoczynania każdego rozdziału od prawdziwej historii jest bardzo pouczające.


1
+1 Mam kopię tej książki i muszę powiedzieć, że jest naprawdę dobrze napisana. Ogólnie rzecz biorąc, można debugować wszystko przy użyciu reguł sugerowanych przez autora: błędy oprogramowania, problemy ze sprzętem, problemy z toaletą, wszystko naprawdę :)
Jason Evans

1
To jest świetna książka. Jednym z najlepszych wniosków, jakie z tego wyciągnąłem, był pomysł nie tylko naprawienia problemu, ale następnie wycofania poprawki z powrotem, aby potwierdzić, że problem nadal występuje bez niego. Po wypróbowaniu dziesięciu rzeczy w celu rozwiązania problemu, na koniec, jeśli pominiesz ten krok, możesz nie wiedzieć, która z nich była prawdziwa.
Kyralessa,

1

Saff Ściśnij jest technika opisana Kent Beck, który wykorzystuje testy refactoring debugowania:

Hit 'em High, Hit' em Low :

Testowanie regresji i wyciskanie Saffa

Kent Beck, Three Rivers Institute

Streszczenie: Aby skutecznie izolować defekt, zacznij od testu na poziomie systemu, a następnie stopniowo dołączaj i przycinaj, aż uzyskasz możliwie najmniejszy test demonstrujący defekt.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.