Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Visual C++] Wykrywanie wycieków pamięci

Ostatnio zmodyfikowano 2012-01-25 20:57
Autor Wiadomość
DejaVu
» 2012-01-25 17:14:47
Przekilkaj w 'dół' callstacka aż dojdziesz do kodu, który jest Ci znajomy (czyli sam go pisałeś). Powinno się zatrzymać na linii która zaalokowała obszar pamięci, który nie został zwolniony.
P-49432
Aclber
Temat założony przez niniejszego użytkownika
» 2012-01-25 17:18:19
Ok jedyna linijka mojego programu to :
C/C++
ekranGlowny = al_create_display( 672, 352 );
Czyli tworzenie ekranu.

Jednak na końcu mam
C/C++
al_destroy_display( ekranGlowny );

Podaje też inne "wycieki"
C/C++
ALLEGRO_BITMAP * menu;
menu = al_load_bitmap( "menu.png" );

ALLEGRO_BITMAP * zasady;
zasady = al_load_bitmap( "zasady.png" );
Jednak tak jak poprzednio mam na końcu programu :
C/C++
al_destroy_bitmap( menu );
al_destroy_bitmap( zasady );

Więc czemu tu jest niby wyciek ?
P-49433
pekfos
» 2012-01-25 17:32:02
To, że masz taki fragment w kodzie, nie znaczy, że się wykona :)
P-49434
DejaVu
» 2012-01-25 17:49:59
Wykrywanie wycieków pamięci za pomocą Visual C++
Na samym końcu programu (tj. przed return 0;) należy jeszcze dopisać:
C/C++
_CrtDumpMemoryLeaks();
P-49437
Aclber
Temat założony przez niniejszego użytkownika
» 2012-01-25 17:54:40
Ok jeden wyciek znalazłem, występuje on w metodzie wyświetlającej mapę.

Później w innej klasie wywołuje tę metodę. Wywoływana ona jest w pętli while ponieważ gracz  i przeciwnicy się poruszają więc nie mogą po sobie zostawiać ślad. Problem tkwi w tym myślę, iż obrazki zostają cały czas nadpisywane.
Macie jakiś pomysł jak to ominąć ?

Może znacie jakąś funkcję w allegro podmieniająca tylko obraz a nie nakładająca warstwy ?
P-49438
DejaVu
» 2012-01-25 19:32:17
No i niby która linijka robi wyciek? :) Bo ja tu nie widzę niczego co by mogło kapać.
P-49445
Aclber
Temat założony przez niniejszego użytkownika
» 2012-01-25 19:36:54
Ja też, ale wydaje mi się iż następuje nadpisanie obrazków i może dlatego ?
P-49447
DejaVu
» 2012-01-25 20:57:23
Pff... dostałeś informację jak wykryć wyciek ale najwyraźniej nie potrafisz jej zastosować. Szukasz więc błędu na oślep i niespecjalnie Ci to wychodzi.
P-49458
1 « 2 »
Poprzednia strona Strona 2 z 2