2010-02-01 10 views
6

Próbuję wykonać instrukcje wyświetlane na this page, aby utworzyć plik śledzenia. Widzę plik w Eksploratorze plików w DDMS i mogę go pobrać na mój komputer, ale ma on długość zero bajtów.Utworzono plik śledzenia systemu Android, ale zero bajtów długo

Wszelkie sugestie co do tego, co robię źle, proszę?

+0

Dwie rzeczy mogę myśleć: (1) Czy za pomocą klasy Debug prawidłowo? Nie możemy stwierdzić bez co najmniej fragmentu kodu. (2) nadal mogą być otwarte uchwyty plików; spróbuj wyłączyć śledzenie, odmontować kartę SD i odczytać plik za pomocą pamięci masowej USB –

+0

Kod debugowania, który mam, to (1) 'import android.os.Debug;' (2) w głównym działaniu onCreate: 'Debug.startMethodTracing ("mymap"); '(po wywołaniu super.onCreate) (3) w onDestroy' Debug.stopMethodTracing(); 'jako ostateczne wyrażenie (4) w manifeście' ' i 'android: debuggable =" true "'. Po uruchomieniu aplikacji plik śledzenia pojawia się na karcie SD. Na telefonie Astro menedżer plików potwierdza, że ​​ma zero bajtów, podobnie jak Eksplorator Windows po podłączeniu telefonu do komputera. Jak mogę odmontować kartę SD z emulatora? – prepbgg

+0

Zgodnie ze stroną developer.android.com na TraceView, aplikacja musi wywołać stopMethodTracing(), aby śledzić zapis do pliku śledzenia. Czy mam rację sądząc, że naciśnięcie przycisku Home powinno spowodować, że główna działalność mojej aplikacji zostanie zniszczona, a zatem stopMethodTracing powinien zostać wywołany z oświadczenia, które włożyłem w Destroy? – prepbgg

Odpowiedz

7

Problem wydaje się być, że stopMethodTracing() wezwanie którą włożył w onDestroy() metodę (jak zasugerowano w Dev Guide) nie udało się zatrzymać śledzenie chociaż próbowałem trzy różne sposoby zakończenia działalności ... obracając ekran, naciskając klawisz Home i używając Taskillera, by zabić aplikację.

Przesuwając stopMethodTracing() w innym miejscu, teraz mam ślad z danymi w nim!

(Istotną wskazówką było to, że zauważyłem, że LogCat został TRACE raportowania rozpoczęta, lecz nie podano TRACE zatrzymany.)

+0

Słowo do mądrych, początkowo zakładałem, że to także mój problem, ale okazało się, że w moim przypadku mój kod nigdy nie był nazywany stopMethodTracing. – nmr

Powiązane problemy