[ZADANIE - trudne!] Szukanie buga za pomocą logów
Ostatnio zmodyfikowano 2010-02-27 13:16
DejaVu Temat założony przez niniejszego użytkownika |
[ZADANIE - trudne!] Szukanie buga za pomocą logów » 2010-02-25 11:03:53 Opis zadaniaZadanie polega na znalezieniu bug'a w poniższym programie: http://ddt.pl/bug.exeLog, który powinien naprowadzić na znalezienie miejsca wystąpienia błędu: http://ddt.pl/bug.logW niniejszym zadaniu należy wskazać miejsce wystąpienia błędu. Jak uzyskać błąd w programie?Wystarczy nacisnąć strzałkę w dół. Pokaże się komunikat ASSERT'a, w którym należy kliknąć ANULUJ. Od tego momentu zawarte są logi, aż do ukazania się drugiego okienka ASSERT. Jaki powinien być prawidłowy efekt działania?W prawidłowym przypadku obiekt przemieszczający się nie powinien przelecieć przez ukośną linię. Celem tego zadania jest ustalenie miejsca w którym wykonana została nieprawidłowa operacja zmiany pozycji/prędkości, bądź nie wykrycia kolizji między prostymi. Pozostałe informacjeZadanie jest trudne, obecnie nie ma rozwiązania i sam go będę poszukiwał, ale w ramach przerwy od niego postanowiłem się problemem z Wami podzielić - logi są jednym ze sposobów namierzania błędów i jeśli chcesz poćwiczyć ich analizowanie to tutaj masz doskonałą okazję do tego - przykład bowiem nie jest banalny - wręcz przeciwnie. |
|
Elaine |
» 2010-02-25 12:55:00 Powiedziałbym coś o tym, jak jest napisany kod, ale... |
|
DejaVu Temat założony przez niniejszego użytkownika |
» 2010-02-25 13:28:22 Ale nie możesz, bo nie masz kodu więc nie masz czego oceniać :) |
|
Elaine |
» 2010-02-25 14:08:59 Ale mam binarkę, a to wystarczy... Niektóre dziwactwa są bez problemu zauważalne z poziomu disasma. Po prostu się zlitowałem, a nie "nie mogę". |
|
DejaVu Temat założony przez niniejszego użytkownika |
» 2010-02-25 16:07:37 No... w szczególności, że maksymalna optymalizacja jest włączona :) to Twoja ocena kodu na pewno będzie perfekcyjna. |
|
Elaine |
» 2010-02-25 16:24:32 Akurat optymalizacje nie zaciemniają kodu tak bardzo, jak niektórym się wydaje... Ale nie o to chodzi, tylko o pewną jazdę z tym, co CRT robi po powrocie z main/wmain/WinMain/wWinMain. |
|
DejaVu Temat założony przez niniejszego użytkownika |
» 2010-02-25 17:57:30 Wiesz... okno jest uruchomione w threadzie, a nie w funkcji głównej, która de'facto idzie do piachu. Skoro już Ci chodzi tak bardzo o tego maina to jeśli Ciebie to zbawi wygląda on tak: int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ) { CEksperymenty * pWindow = new CEksperymenty( "instance1" ); pWindow->setTitle( "Aplikacja OpenGL" ); wapi::windows().start( pWindow ); return 0; } |
|
Elaine |
» 2010-02-25 19:08:22 Ale main mnie nie interesuje (jak będę chciał źródło jakiejś funkcji to sobie je wywlekę) - przeczytaj jeszcze raz mój post... |
|
« 1 » 2 |