1 Reply
      Latest reply on May 12, 2016 2:44 AM by eskimo
      ValeryK Level 1 Level 1 (0 points)

        Hi Experts,

         

        According to the guide "Analyzing Crash Reports", Xcode automatically symbolicates crash reports. It should be, but I cannot make it work.

        In Xcode's Organizer, I selected my game, clicked Crashes and selected the crash from the list.

        I see something like this:

        Thread 0:

            0 Rally-mobile 0x91000

            1 Rally-mobile 0x91000

            2 Rally-mobile 0x91000

            ...

            28 UIKit UIApplicationMain

         

        In the same time, everything works when I copy all required files (.app, .dSYM, .crash) from Archives into one folder and run "symbolicatecrash" in the Terminal.

        I see :

        0   Rally-mobile                 0x00522836 cocos2d::SpriteFrame::getTexture() + 42

        1   Rally-mobile                 0x0051bf24 cocos2d::Sprite::initWithSpriteFrame(cocos2d::SpriteFrame*) + 20

        ....

        28 UIKit                       0x270b00b8 UIApplicationMain + 144 (UIApplication.m:3772)

         

         

        What I do wrong? Why Xcode does not load dSYM?

        I also would like to open .crash in my project and see the crash with source files. It is possible?

         

         

        My env: Xcode 7.2. OS 10.10.5

         

        Regards,

        Valery.

        • Re: Xcode 7.2 does not symbolicate crash report.
          eskimo Apple Staff Apple Staff (11,485 points)

          There are two common causes for this:

          • a UUID mismatch between the crash report and the .dSYM

          • Spotlight failing to index your .dSYM (Xcode uses Spotlight to find the .dSYM based on its UUID)

          You can check the former using xcrun dwarfdump --uuid /path/to/your.dSYM.

          You can check the latter using mdls and mdfind.  If the .dSYM has been indexed then mdls will show the com_apple_xcode_dsym_uuids attribute:

          $ mdls build/Debug-iphoneos/QTestbed.app.dSYM/
          …
          com_apple_xcode_dsym_uuids    = (
              "F3D98D35-B43B-3A29-BDF0-8186AF886EDB",
              "94BF1D20-2A89-3E96-81BC-C46330D6932F"
          )
          …
          

          You can then run a UUID through mdfind to confirm that Spotlight has the right info.  For example:

          $ mdfind 'com_apple_xcode_dsym_uuids == "F3D98D35-B43B-3A29-BDF0-8186AF886EDB"'
          /Users/quinn/DTS Work iOS/Samples and Tests/QTestbed-GIT/build/Debug-iphoneos/QTestbed.app.dSYM
          

          Share and Enjoy

          Quinn “The Eskimo!”
          Apple Developer Relations, Developer Technical Support, Core OS/Hardware
          let myEmail = "eskimo" + "1" + "@apple.com"