Search Unity

Analyse a crash report with DSYM file - Ad-Hoc and Distribution build

Discussion in 'Editor & General Support' started by Matt_001, Apr 14, 2011.

  1. Matt_001

    Matt_001

    Joined:
    Sep 17, 2010
    Posts:
    101
    Greetings,

    I'm preparing our final build for Apple, so Ad-Hoc and Distribution. I want to "Generate Debug Symbols" when I build my project, which is an option that I had set to true. Of course the build type is not Debug because it will be the official game build.

    Firstly,
    I'm having a " warning : no debug symbols in executable (-arch armv6) "
    I'm not sure to fully understand why that warning happens. The .dSYM file is correctly created (actually it is a folder and yeah it is not empty).

    (We actually compile only for armv6 to reduce our build size in order to make it work on old generation devices. Anyway, we do not use or need the armv7 optimisation)



    Secondly,
    I've actually received a crash report from the QA team and I was trying to analyze it with the dSYM file that was previously created.

    The warning still persist, but I've tried to used the dSYM file because it seems to be correctly created. However, I fear because of the warning it means that it cannot link my app debug code to my dSYM file.

    ====== Partially Fixed ========
    Thus, I've copied the crash report in the same folder as the .app file and the .dSYM file and I've been trying to use Atos command in order to link the hexa code with the current function where it crashed.

    However, I am getting this error : " atos cannot load symbols for the file MyApp ".

    After performing the command : atos -arch armv6 -o MyApp 0x0001383c (where the hexa code comes from the Crashing thread in the log file).

    ======= End of Partially Fixed ========

    I've Googled a lot and looked at the Developer forum of Apple without success.

    Also, concerning the "warning : no debug symbols in executable", I've even tested it with a clean Unity project and I still have this warning when I activate "Generate Debug Symbols" no matter if I let everything by default or if I try every possible combination with those "stripping" configuration such as : "Strip Debug Symbol During Copy", "Strip Linked Product" etc.

    ---------
    Any relevant help would be greatly appreciated. Thanks for reading this long post anyway!

    Regards.
     
    Last edited: Apr 15, 2011
  2. Matt_001

    Matt_001

    Joined:
    Sep 17, 2010
    Posts:
    101
    Further note, in full debug mode I've been able to analyse the crash report and the Organizer do link my hexa code with my function calls automatically. I don't receive any warning in debug.

    Conerning the point 2, I mistype the atos command which should be :

    atos -arch armv6 -o MyApp.app/MyApp 0x0001383c

    that works too with a Debug build.

    However, I still got the warning when I build in Ad-Hoc or Distribution and if I try to link with the crash report with dSYM and the app file, it doesn't work. Organizer is unable to find the debug code.
     
    Last edited: Apr 14, 2011
  3. Matt_001

    Matt_001

    Joined:
    Sep 17, 2010
    Posts:
    101
    The problem was that Unity adds "Other Linker Flags" to the Release mode settings. They were "-Wl, -S, -x" which strips everything from the executable during gcc compilation.

    However, the settings that you must enable in order to perform the same thing are executed during the linking which is right after the gcc compiling. That's why I had the warning!

    I removed those Flags and set up the dSYM file creation as Apple suggested and it worked fine! :)

    (Thanks Kuba)