Wprowadzenie
Gdyby odpowiedź na pytanie "dlaczego nie działa mój program" była prosta, to nie byłoby na tym forum, w chwili pisania tego tekstu, 21507 tematów. Najlepszym sposobem na błędy jest mieszanka wiedzy, doświadczenia i uporu, w bliżej nieokreślonych proporcjach. Jeśli zadajesz te pytanie, to można się domyślać, że raczej problem w braku wiedzy i doświadczenia, ale jeśli masz trochę uporu, to poniżej znajduje się lista często popełnianych błędów, którą możesz sprawdzić, zanim zadasz pytanie na forum. A gdy już zadasz, to niech chociaż temat nie nazywa się 'Dlaczego mi nie działa program?', bo się pogniewamy..
Jesteś pewien, że powinno działać?
Jeśli eksperymentujesz z kursem, czy książką i piszesz dużo małych programów, upewnij się, że uruchamiasz program, który myślisz, że uruchamiasz.
Jeśli masz założony projekt z wieloma plikami źródłowymi i coś działa podejrzanie, spróbuj zrobić rebuild. Więcej o tym przypadku w
Napisany program działa inaczej niż powinienProgram się wysypuje?
Jeśli po uruchomieniu programu, lub wykonaniu w nim określonej akcji, program przestaje działać, przejdź do
Napisany program wysypuje się.
Kompilator generuje ostrzeżenia?
Jeśli program działa nieprawidłowo i masz wyłączone ostrzeżenia -
włącz je. W GCC są od tego flagi
-Wall i
-Wextra. W Visual Studio znajdziesz to w ustawieniach projektu, C/C++/General/Warning Level. Stare powiedzenie mówi, że programista ignoruje ostrzeżenia i zajmuje się tylko błędami. Tak naprawdę programista ignoruje
niektóre ostrzeżenia, inne są bardzo przydatne bo wskazują błędy, które czasem ciężko wypatrzeć.
Najczęściej spotykane bugiCo zrobić gdy nic z powyższego nie pomogło
Samodzielne rozwiązywanie problemów jest bardzo ważną umiejętnością, a debugger jest bardzo pomocnym narzędziem do tego celu. Spróbuj prześledzić działanie programu debuggerem od ogółu, do szczegółu - wchodząc w poszczególne funkcje jeśli zauważysz, że zawartość zmiennych po ich wykonaniu jest błędna. Jeśli błąd pojawia się po dłuższym działaniu programu, wypisuj komunikaty diagnostyczne w konsoli, albo z poziomu debuggera. Określenie okoliczności błędu i ich odtwarzanie znacząco ułatwia i przyspiesza odnajdywanie błędów.
Debugowanie w Visual Studio 2017Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.