2011-10-28 16 views
7

Próbuję zoptymalizować wykorzystanie pamięci aplikacji na iOS i chciałbym sprawdzić, jakie jest całkowite wykorzystanie pamięci przez aplikację w określonych punktach kodu. Pomyślałem, że powinienem umieć ustawiać punkty przerwania, profilować aplikację za pomocą Monitora aktywności i po prostu patrzeć na wykorzystanie pamięci, gdy każdy punkt przerwania zostanie przechwycony. Ale kiedy uruchamiam Instruments, wydaje się, że punkty przerwania nie przestają już wykonywać, więc trudno jest dokładnie określić, kiedy zmienia się użycie pamięci.Czy można używać instrumentów XCode z włączonymi punktami przerwania?

Czy można używać punktów przerwania i instrumentów jednocześnie? Jeśli nie, czy istnieje sprytny sposób napisania kodu, aby wstawić znacznik na oś czasu Instrumentów, gdy wystąpią określone zdarzenia?

Odpowiedz

8

Znalazłem również tę kwestię dzisiaj, a po odrobinie poszukiwań znalazłem to rozwiązanie. Tekst poniżej to cytat ze stanowiska:

Punkty przerwania nie pękają. Instruments wykorzystuje informacje debugowania z Twojej kompilacji debugowania, ale nie zatrzymuje się w ustawionych punktach przerwania. Dzieje się tak, ponieważ podczas ładowania aplikacji do Instruments z menu w XCode, Instruments po prostu używa ścieżki bieżącego pliku wykonywalnego jako ścieżki początkowej i ładuje go zewnętrznie z XCode. Menu w XCode jest naprawdę dostępne jako mechanizm wygody. To nie jest wielka sprawa, ponieważ zawsze możesz ponownie uruchomić tryb debugowania po sesji instrumentów, jeśli chcesz, aby aplikacja się zepsuła. To tylko coś, o czym warto pamiętać.

Instrukcje NSLog nie wyświetlają się w konsoli debuggera. Jeśli chcesz , zobacz swoje instrukcje NSLog, będziesz musiał załadować aplikację Konsola systemowa (/ Applications/Utilities/Console).

referencyjny: http://www.cimgf.com/2008/04/02/cocoa-tutorial-fixing-memory-leaks-with-instruments/

0

Cóż, nie masz pod kontrolą debuggera.

Jednym z podejść może być dodanie alertów w kluczowych punktach i zrobienie migawki (ręcznie).

Albo może być trochę czarodziejskiej magii.

Powiązane problemy