2013-01-22 10 views
5

Ostatnio zauważyłem, że czasami nasza aplikacja ulega awarii zaraz po otrzymaniu ostrzeżenia o pamięci. Bardzo trudno jest odtworzyć ten problem na urządzeniu, a nawet w symulatorze dostaję tę awarię w jednej z dziesięciu prób "Symulacji ostrzeżenia o pamięci".Jak sprawdzić, czy aplikacja na iOS zachowuje się dobrze w przypadku ostrzeżeń o pamięci?

Co to jest dobra strategia do debugowania programów obsługi ostrzeżeń o pamięci, zważywszy na problemy często pochodzące z wywołań zwrotnych przychodzących "za późno", zasobów przypadkowo używanych po zniszczeniu w programie obsługi ostrzeżeń itp.?

Odpowiedz

5

Oto podejście, które pomogło mi znaleźć kilka poważnych błędów w moich programach obsługi ostrzeżenia o pamięci.

Najpierw poszedłem do ustawień OS X klawiaturowe i przypisać skrót do Symulacja pamięci Ostrzeżenie:

enter image description here

Następnie, po uruchomieniu aplikacji w symulatorze, trzymałem te przyciski naciśnięciu tak Symulator generowałby dziesiątki ostrzeżeń pamięci na sekundę. Robiąc to, obejrzę aplikację. Oczywiście rzadko zdarza się to, co dzieje się w realnym świecie, ale te testy warunków skrajnych pomogły ujawnić pewne synchronizacje, problemy z oddzwonieniem i stanem, których nie znalazłbym inaczej.