2013-10-04 14 views
279

Zastanawiam się, czy ktoś może mi powiedzieć, co Xcode faktycznie robi, gdy mówi: "Przetwarzanie plików symboli" po podłączeniu urządzenia?Przetwarzanie plików symboli w Xcode

Screenshot

+0

musiałem czekać na dość długi czas ... około 30 minut, a później rozmieszczenie na urządzeniu udało.Może Mac poświęca czas na rozpoznanie urządzenia. –

Odpowiedz

261

pobierało (debug) symbole z urządzenia, dzięki czemu możliwe staje się debugowania na urządzeniach z tej konkretnej wersji iOS, a także symbolicate raportów o awariach, które wydarzyły się na tej wersji iOS.

Ponieważ symbole są specyficzne dla procesora, powyższe działa tylko wtedy, gdy zaimportowano symbole nie tylko dla określonego urządzenia z systemem iOS, ale również dla określonego typu procesora. Obecnie potrzebne typy procesorów to armv7 (np. IPhone 4, iPhone 4s), armv7s (np. IPhone 5) i arm64 (np. IPhone 5s).

Więc jeśli chcesz symbolizować raport o awarii, który wydarzył się na iPhone'ie 5 z armv7 i ma tylko symbole dla armv7 dla tej konkretnej wersji iOS, Xcode nie będzie w stanie (w pełni) zasygnalizować raportu awarii.

+19

Niedawno odkryłem, że Xcode nie przetwarza plików symboli zarówno na iPadzie2, jak i na moim iPhone4. Zawsze zatrzymywał się w połowie i nigdy nie ukończył, nawet po pół godzinie. W końcu udało mi się to zrobić ... poprzez wyłamanie całkowicie nowego kabla łączącego i podłączenie go bezpośrednio do mojego Maca Mini (wcześniej zostałem podłączony za pomocą przedłużacza). Doszedłem do wniosku, że słabe połączenie NAPRAWDĘ miesza się z aktualizacjami symboli. – Ash

+5

Dlaczego więc nie połączyć tych symboli z dystrybucją xcode? Po co mieć kłopot z wydobyciem ich z urządzenia? –

+3

Symbole dla wszystkich architektur mają rozmiar większy niż 1 GB na wersję (iOS) i nie ma zawsze aktualizacji Xcode dla każdego wydania poprawki. Xcode jest aktualizowany tylko za pomocą aktualizacji/zmian interfejsu API. – Kerni

0

Porównuje zderzeniowe dzienniki pobrane z urządzenia do archiwum (symbolizowane są poprawne) wersji aplikacji, aby spróbować odzyskać gdzie w kodzie nastąpił krach.

Spójrz na xcode symbol file location szczegółowe informacje

35

W wersji Xcode 6.1.1 (6A2008a) po "Przetwarzaniu plików symboli" utworzono folder zawierający symbole powiązane z urządzeniem (w tym wersję iOS i typ procesora) w katalogu ~/Library/Developer/Xcode/iOS DeviceSupport/tak:

enter image description here

+6

co było (null) (zero)? –

+6

@AntonTropashko '(null) ((null))' faktycznie. –

+6

W moim przypadku "(null) ((null))" zawierało ... nic! – Sjakelien

0

błędów irytujące. Rozwiązałem go, podłączając kabel bezpośrednio do iPada. Z jakiegoś powodu proces ten nigdy się nie zakończyłby, gdybym miał iPada na podstawce przechodzącej Apple.

+7

To nie jest błąd, ale "zadanie" Xcode jest przetwarzanie dla ciebie .. – Cesare

+3

To jest błąd, ponieważ NIGDY kompletny, jeśli mam go na stoisku. – GoldenJoe

+2

Rozumiem, że odpowiedź jest słabo wyrażona, ale rzeczywiście było to właściwe dla mnie, podłączenie bezpośrednio do portu usb, dla mnie rozwiązanego, mimo że hub-usb działał dobrze dla każdego innego zadania. – jalone

18

xCode wystarczy skopiować wszystkie logi awarii. Jeśli chcesz przyspieszyć: usuń liczbę raportów o awariach po analizie, bezpośrednio w tym oknie.

Devices -> View Device Logs -> All Logs 

screenshot

+2

Usuwanie wszystkich logów zadziałało! –

+0

@QLiu Pewnie. Wygląda jak błąd lub logi są większe niż oczekiwano. – WINSergey

+0

@WoShiNiBaBa Oczywiście, nadal działa na Xcode8 – WINSergey

1

wiem, że nie jest to rozwiązanie techniczne, ale miałem iPhone połączony z komputerem za pomocą kabla i odłączania urządzenia od komputera i podłączeniu go ponownie (przez kabel ponownie) pracował mnie, ponieważ nie mogłem go rozwiązać rozwiązaniami, które są dostarczane wcześniej.

+0

To mogło być szczęśliwy moment ... lub opóźniona reakcja na inne działania, które zrobiłeś. Po rozłączeniu i ponownym podłączeniu powróciłem do tego trybu, aż do jego zakończenia. –

4

W moim przypadku symbolizowanie trwało wiecznie. Zmuszam do restartu telefonu za pomocą przycisku włączania/wyłączania i przycisku Home. Teraz szybko skończyłem symbolizować i uruchamiam moją aplikację przez xcode.

0

Dodaj wersja SDK odpowiadają Twoim iPhone iOS, np: iOS 10,3

ścieżka:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport


To pobraniem. Kiedy skończy, jest OK. Jak pokazano na rysunku:

enter image description here

Powiązane problemy