» Blog » Mój ulubiony błąd...
30-01-2008 21:42

Mój ulubiony błąd...

W działach: Informatyka | Odsłony: 0

Mój ulubiony błąd...
end;

Ctrl-S

term
> qmake
> make
...
Done.
>./app


Działa. Ostatnia linijka napisana. Kompilacja bez problemów. Aplikacja działa. Szybki test. Wszystko jest dobrze. Wrzucamy program do ściągnięcia, rano sobie zaktualizują. Pora do domu.

Telefon dzwoni od wejścia.
- Słucham.
- Program nie działa.
Taaa. A mnie kryształowa kula.
- To znaczy co dokładnie? Jakie są objawy?
- Jak wciskam przycisk "Nowa funkcja" to się wywala.
- Sprawdzę Oddzwonię.

Windows. Uruchamiam. Klikam. Buch! Przecież wczoraj sprawdzałem... Działo.

Linux. Sprawdzam kod. try i catch na pozycjach, wieć wyjątki przechwytuję. Kompiluję. Działa. Przeglądam kod. Wszystko jest dobrze. Program przed wywołaniem okna sprawdza, czy zmienna nie jest null, a jeśli jest to wywołuje new i tworzy je. Potem też sprawdza, czy wszystko jest dobrze. A jeśli okno jest już stworzone (adres nie jest null) to tylko je wyświetla. Robię rebuild. Niech utworzy wszystko od początku. Taktyka spalonej ziemii. A co...

Działa... A pod Windowsem nie. Znaczy pora na kawę.

Olśnienia nie było. Jeszcze raz próba kompilacji pod linuxem i uruchomienie. Nie działa. NIE DZIAŁA! W końcu nie działa. Z czego to się człowiek potrafi ucieszyć. A skoro raz działa, a raz nie, to znaczy...

Szlag! Znowu. Niezainicjowana zmienna. Kompilator nie ma obowiązku zerować pamięci. Jakis śmieć w nieodpowiednim miejscu ramu i program myślał (błędnie), że okno już istnieje...

Za pierwszym razem się przejąłem, bo to w sumie głupio takiego babola strzelić... Wyleczyli mnie koledzy. W jednym tygodniu po kolei każdy z nas miał taką samą wpadkę. Teraz zdarza się rzadziej, ale nadal występuje. I zawsze jest tak samo upierdliwa - raz działa, raz nie. I oczywiście najczęsciej u nas działa, a u klienta nie.

Dobra. Szybka poprawka. Wrzucamy. Telefon - już wszystko dobrze, proszę ściągnąć aktualizację i rozpocząć pracę. Uśmiech na twarzy, bierzemy się za coś innego...

Drrrryńńńń.
- Znowu nie działa.
Powtarzam procedurę wyciagania informacji z klienta w wyobraźni wyciągając mu język na półtora metra z drugą ręką zaciśniętą na gardle.
- Już sprawdzam.
Tym razem tylko zapomniałem nadać kilentowi uprawnienia do korzystania z perspektywy (view) w bazie danych. Odkładam słuchawkę.

Spoglądam w edytor. Po raz kolejny zaczynam od początku analizować metodę klasy.
DRRRRRYŃŃŃŃŃ.
Zrezygnowany wyciągam dłoń do telefonu.
- Nie proszę pani. Nie dodzwoniła się pani do BRE Banku. Nie, nie wiem jaki mają numer telefonu.

Jeszcze tylko 7 godzin i 30 minut. Potem już nikt nie będzie dzwonił, a ja wreszcie będę mógł spokojnie popracować.
0
Nikt jeszcze nie poleca tej notki.
Poleć innym tę notkę

Komentarze


vanderus
   
Ocena:
0
Masz talent podnoszenia czlowieka na duchu :-)

Pomysl sobie, ze tym masz o tyle lepiej, ze u Ciebie nie dziala program - materia nieozywiona. Ja mam czesto do czynienia z niedzialajacymi przedstawicielami materii ozywionej - tu jest dopiero bol. Taktyka spalonej ziemi niestety odpada :-)
31-01-2008 11:07
Szczur
    Skądś to znam
Ocena:
0
i to całkiem dobrze, zwłaszcza fragment z pewnymi tego co im nie działa klientami ;)
31-01-2008 12:29
teaver
   
Ocena:
0
Taaa... błędy potrafią być bolesne. Te w ludziach i te w programach. Ale program można zastąpić, poprawić, ściagnąć patcha, a człowieka mozna się pozbyć tylko brudząc ręce. Ból, co za ból...

Głaski dla kotka. :)
31-01-2008 12:52

Komentowanie dostępne jest po zalogowaniu.