Debugowanie to proces sprawdzania stanu programu - zwykle za pomocą narzędzia do debugowania - podczas jego działania i próby znalezienia błędów, które powodują jego nieprawidłowe działanie.
Nie robimy tego w naszej firmie, ale jeden z moich przyjaciół mówi, że jego kierownik projektu poprosił każdego programistę o dodanie umyślnych błędów tuż przed przejściem produktu do kontroli jakości. Tak to działa: Tuż przed przejściem produktu do kontroli jakości zespół programistów dodaje umyślne błędy w przypadkowych miejscach w kodzie. …
Niedawno rozpocząłem nową pracę, w której pracuję nad bardzo dużą aplikacją (15M loc). W mojej poprzedniej pracy mieliśmy podobnie dużą aplikację, ale (na lepsze lub gorsze) korzystaliśmy z OSGi, co oznaczało, że aplikacja została podzielona na wiele mikrousług, które można niezależnie zmieniać, kompilować i wdrażać. Nowa aplikacja to tylko jedna …
Właśnie powiedział mi mój szef, że w poniedziałek otrzymam negatywną ocenę wydajności. Chce ze mną porozmawiać o tym, dlaczego jestem taki wolny i dlaczego mój wskaźnik naprawiania błędów jest tak niski. Uwielbiam programować i rozwiązywać problemy, ale moja praca jest naprawdę bardzo trudna. Jestem programistą przez około 10 lat. Ale …
W trakcie mojej kariery zauważyłem, że niektórzy programiści nie używają narzędzi do debugowania, ale sprawdzają na miejscu błędny kod, aby dowiedzieć się, na czym polega problem. Podczas gdy wiele razy szybkie znajdowanie błędów w kodzie bez debuggera jest dobrą umiejętnością, wydaje się, że mniej produktywne jest spędzanie dużo czasu na …
Pracuję dla firmy produkującej oprogramowanie. Mamy dużych klientów korporacyjnych, którzy wdrażają nasz produkt i zapewniamy im wsparcie. Na przykład, jeśli występuje wada, zapewniamy łatki itp. Innymi słowy, jest to dość typowa konfiguracja. Niedawno wydano i przypisano mi bilet dotyczący wyjątku znalezionego przez klienta w pliku dziennika, który ma związek z …
Za każdym razem, gdy szukam IDE (obecnie majstruję przy Go), znajduję wątek pełen osób polecających Vi, Emacs, Notepad ++ itp. Nigdy nie robiłem żadnego rozwoju poza IDE; Myślę, że zostałem zepsuty. Jak debugować bez IDE? Czy jesteś ograniczony do zwykłego logowania?
Kiedy przychodzisz rano, okazuje się, że twoje oprogramowanie już nie działa, nawet jeśli miało to miejsce, gdy wyszedłeś wczoraj wieczorem. Co robisz? Co najpierw sprawdzasz? Co robisz, aby przestać się gniewać i zacząć pracować nad swoim problemem? Czy obwiniasz swoich kolegów i idziesz bezpośrednio do nich? Co można zrobić, aby …
gdb zaimplementował obsługę odwrotnego debugowania w 2009 roku (z gdb 7.0). Nigdy o tym nie słyszałem do 2012 roku. Teraz uważam, że jest to bardzo przydatne w przypadku niektórych rodzajów problemów związanych z debugowaniem. Żałowałem, że nie słyszałem o tym wcześniej. Popraw mnie, jeśli się mylę, ale mam wrażenie, że …
Testujemy nasz kod, aby był bardziej poprawny (a właściwie mniej prawdopodobny ). Jednak testy są również kodem - mogą również zawierać błędy. A jeśli twoje testy są błędne, prawie nie poprawiają kodu. Mogę wymyślić trzy możliwe typy błędów w testach: Błędy logiczne, gdy programista źle zrozumiał dane zadanie, a testy …
Jakie umiejętności determinują osobę, która jest w stanie z łatwością debugować kod? Jakiś czas temu mój przyjaciel przeprowadził wywiad ze stosunkowo dobrym programistą. Programista został zatrudniony. Potrafił pisać dobry kod, rozumieć ramy i wzorce projektowe. Brakowało mu tylko umiejętności debugowania. Nie mógł w ogóle debugować, a znalezienie problemów z jego …
Powszechnie wiadomo w inżynierii oprogramowania, że koszt naprawy błędu rośnie wykładniczo w miarę wykrycia błędu. Potwierdzają to dane opublikowane w Code Complete i dostosowane w wielu innych publikacjach. Okazuje się jednak, że te dane nigdy nie istniały . Dane cytowane przez Code Complete najwyraźniej nie pokazują takiej korelacji kosztów / …
Od kilku lat rozwijam systemy współbieżne i całkiem dobrze rozumiem ten temat, pomimo braku formalnego wykształcenia (tj. Bez dyplomu). Istnieje kilka nowych języków, o których ostatnio ostatnio mówi się, a które mają ułatwić współbieżność, takich jak Erlang i Go. Wygląda na to, że ich podejście do współbieżności odzwierciedla moje własne …
Ja, na przykład, dodaję kod debugowania (taki jak instrukcje drukowania) tylko wtedy, gdy próbuję zlokalizować błąd. A kiedy go znajdę, usuwam kod debugowania (i dodam przypadek testowy, który konkretnie testuje ten błąd). Czuję, że zaśmieca prawdziwy kod i dlatego nie ma tam miejsca, chyba że debuguję. Jak ty to robisz? …
Jestem wielkim fanem pisania assertczeków w kodzie C ++ jako sposobu na złapanie przypadków podczas programowania, które nie mogą się zdarzyć, ale zdarzają się z powodu błędów logicznych w moim programie. Jest to ogólnie dobra praktyka. Zauważyłem jednak, że niektóre funkcje, które piszę (które są częścią złożonej klasy) mają 5+ …
Błędy wkradające się do kodu można zminimalizować, ale nie do końca wyeliminować, ponieważ jest napisane - programiści, choć wielu by się nie zgodziło , tylko ludzie. Kiedy wykryjemy błąd w naszym kodzie, co możemy zrobić, aby go usunąć? Jak powinniśmy do tego podejść, aby jak najbardziej efektywnie wykorzystać nasz cenny …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.