iphone: Gdzie plik .dSYM znajduje się w raporcie o awarii


129

Zgodnie z tą stroną tutaj, jeśli masz odpowiedni plik binarny i .dSYM aplikacji, łatwo jest je symbolizować. Ale gdzie znajdują się pliki .dSYM i pliki binarne aplikacji?


1
FYI dSYM oznacza symbol debugowania (plik)
Honey

Odpowiedzi:


257

Kliknij archive -> Show in Finder -> prawym przyciskiem myszy Kliknij plik prawym przyciskiem myszy i kliknij Show package contents.

Tutaj znajdziesz swój plik .dSYM.


Tak, łatwy sposób na bezpośredni dostęp bez przeszukiwania ścieżki.
Gajendra K Chauhan

2
Spakowałem dSYM i wgrałem go do Firebase, ale to nie zadziałało, czy jest jakieś rozwiązanie?
Hamed

99

Możesz zlokalizować .dSYM i plik binarny aplikacji w archiwum.

  1. Wybierz Okno -> Organizator

Krok 1

  1. Otworzy się okno Organizatora zawierające ostatnio utworzone archiwum projektu
  2. Kliknij prawym przyciskiem myszy Archiwum i wybierz „ Pokaż w FinderzeKrok 3
  3. Wybierz opcję „ Pokaż zawartość pakietu ” do archiwum Krok 4
  4. Project.xcarchive zawiera dSYMs, Info.plist i Products Krok 5

Folder dSYMs zawiera plik dSYM Twojego projektu.

Folder aplikacji w programie Project zawiera plik binarny aplikacji Twojego projektu.


40

Jeśli zarchiwizowałeś swój projekt, możesz znaleźć plik dSYM jak powyżej.

Jeśli masz projekt kompilacji dla prawdziwego urządzenia, możesz również znaleźć plik dSYM w następujący sposób:

  • Przejdź do Nawigatora projektu i znajdź folder Produkty
  • Kliknij aplikację prawym przyciskiem myszy i wybierz Pokaż w Finderze .

    Upewnij się, że aplikacja jest w kolorze czarnym, a nie czerwonym. Ponieważ kolor czerwony oznacza, że ​​nie zbudowałeś celu dla prawdziwego urządzenia.

  • Możesz znaleźć plik dSYM o tej samej nazwie w swojej aplikacji, w tym samym folderze.

Przed wykonaniem wszystkich tych czynności upewnij się, że poprawnie skonfigurowałeś ustawienia kompilacji xcode w następujący sposób:

  • Generate Debug Symbols ustawienie jest włączone.
  • Debug Infomation Formatsą ustawione na DWARF with dSYM File.

Mam nadzieję, że to pomoże.


3
Debug Information Formatfor Debug można ustawić na DWARF z plikiem dYSM, który pozwala uzyskać symbole debugowania bez wykonywania tańca archiwum, wielkie dzięki!
Syreny

Dziękuję Ci za to. Czy można zregenerować stary dSym, który został nadpisany?
Brad Thomas,

1
@BradThomas Ponieważ plik dsym jest powiązany z bazą kodu, nie można uzyskać starego pliku dsym, jeśli baza kodu została zmieniona.
HongchaoZhang

33

Znalazłem .dsymplik w/Users/<username>/Library/Developer/Xcode/DerivedData/<appname>/Build/Products/<appname>


14

Jeśli usunąłeś archiwum z Organizatora Xcode, tak jak ja, możesz pobrać dsym z Appstore. Wybierz swoją aplikację, wybierz wersję docelową i przejdź do zakładki Aktywność. Tutaj możesz pobrać żądane pliki dsym.Skąd pobrać


2
Jak długo czekałem na tę odpowiedź!
Artem Mostyaev

10

W Xcode 5.1.1 znajdziesz go w Xcode -> Preferencje -> Lokalizacje -> DerivedData . W DerivedData zobaczysz kilka losowych nazw katalogów. Znajdź te, które zaczynają się od nazwy Twojego projektu. Następnie pobierz najnowszy katalog, który został utworzony dla Twojego projektu. Następnie w tym katalogu przejdź do Build/Products/<Your specific release>/*.app.dSYM.

Możesz nawet kliknąć swój produkt końcowy w sekcji „ Produkty ” w eksploratorze projektów i wykonać „ Pokaż w wyszukiwarce ”, aby dostać się tam bezpośrednio.



3

Jeśli nie wygenerowałeś archiwum i próbujesz debugować je na urządzeniu, dsym można znaleźć pod adresem

/ Library / Developer / Xcode / DerivedData / YOUR_APP / Build / Products / Debug-iphoneos


3

To proste. Postępuj zgodnie z instrukcjami tutaj:

  1. Otwórz projekt w Xcode i wybierz plik projektu w Xcode Navigator.
  2. Wybierz główny cel kompilacji z listy rozwijanej Wybierz projekt lub cel .
  3. Otwórz zakładkę Build Settings celu .
  4. Kliknij Wszystko u góry karty.
  5. Wyszukaj „ format informacji debugowania ”.
  6. Ustaw format informacji debugowania na DWARF z plikiem dSYM .

Teraz przejdź do Produkt> Archiwum> Twoja kompilacja> kliknij prawym przyciskiem myszy swoją kompilację i kliknij Pokaż w Finderze . Teraz kliknij prawym przyciskiem myszy i przejdź do Pokaż zawartość pakietu > dSYMs> Yourappname.app.dSYM _


3

Jeśli masz identyfikator UUID, którego szukasz, możesz przeszukać pliki za pomocą następującego polecenia:

mdfind "com_apple_xcode_dsym_uuids == <UUID>"

2

1. Wybierz Okno -> Organizator

2. Kliknij prawym przyciskiem myszy Archive (nazwa aplikacji) i wybierz opcję „Pokaż w Finderze”

3. Wybierz opcję „Pokaż zawartość pakietu” dla archiwum

4. Kliknij prawym przyciskiem myszy yourProject.xcarchive zawiera dSYMs, Info.plist i Products

5. wybierz yourappname.app.dSYM


2

Chcę tylko podzielić się czymś z mojego doświadczenia. Za każdym razem, gdy wypuszczam nową wersję mojego frameworka, zapisuję jego dSYM w oddzielnym folderze. Więc później mogę łatwo znaleźć odpowiedni dSYM, kiedy go potrzebuję. Można to łatwo zrobić, dodając ten wiersz kodu do skryptu bash w ustawieniach kompilacji (np. W tym przykładzie zapisuję go na pulpicie).

cp -r "${BUILD_DIR}/${CONFIGURATION}-iphoneos/${FRAMEWORK_NAME}.framework.dSYM" "${HOME}/Desktop/${FRAMEWORK_NAME}.framework.dSYM"

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.