# Crashlogs on OSX dsym files

**URL:** <https://forum.juce.com/t/crashlogs-on-osx-dsym-files/18001>\
**Category:** MacOSX and iOS\
**Created:** [June 7, 2016, 11:32am UTC](https://forum.juce.com/t/crashlogs-on-osx-dsym-files/18001 "2016-06-07T11:32:02Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![nikolaiaudios](https://avatars.discourse-cdn.com/v4/letter/n/77aa72/32.png) [@nikolaiaudios](https://forum.juce.com/u/nikolaiaudios)\
**Post date:** [June 7, 2016, 11:32am UTC](https://forum.juce.com/t/crashlogs-on-osx-dsym-files/18001/1 "2016-06-07T11:32:02Z")

</div>

Hi  
What do you guys do when you have a crash log from a desktop app, and it says stuff like:

18 com.YourCompany.YourApp 0x000000010b08276b 0x10ae8a000 + 2066283  
19 com.YourCompany.YourApp 0x000000010aedc87e 0x10ae8a000 + 338046  
20 com.YourCompany.YourApp 0x000000010aef0392 0x10ae8a000 + 418706  
21 com.YourCompany.YourApp 0x000000010ae8e8b8 0x10ae8a000 + 18616  
22 com.YourCompany.YourApp 0x000000010ae8e306 0x10ae8a000 + 17158  
23 com.YourCompany.YourApp 0x000000010aec763c 0x10ae8a000 + 251452  
24 com.YourCompany.YourApp 0x000000010aecf2f8 0x10ae8a000 + 283384  
25 com.YourCompany.YourApp 0x000000010aed1598 0x10ae8a000 + 292248  
26 com.YourCompany.YourApp 0x000000010aecf2f8 0x10ae8a000 + 283384

On the net I find ways to symbolicate this using a dsym file from the release, but the xcode projects created by Projucer does not create a dsym file as far as I can tell.  
Is there a way to symbolicate the trace ?

---

<div class="post-metadata">

**Author:** ![nikolaiaudios](https://avatars.discourse-cdn.com/v4/letter/n/77aa72/32.png) [@nikolaiaudios](https://forum.juce.com/u/nikolaiaudios)\
**Post date:** [June 21, 2016, 6:02am UTC](https://forum.juce.com/t/crashlogs-on-osx-dsym-files/18001/2 "2016-06-21T06:02:16Z")

</div>

Anyone got more info on this? How can I get a dsym file from a project created with projucer.  
Or am I missing something basic here?

---

<div class="post-metadata">

**Author:** ![nikolaiaudios](https://avatars.discourse-cdn.com/v4/letter/n/77aa72/32.png) [@nikolaiaudios](https://forum.juce.com/u/nikolaiaudios)\
**Post date:** [July 10, 2016, 6:45pm UTC](https://forum.juce.com/t/crashlogs-on-osx-dsym-files/18001/3 "2016-07-10T18:45:42Z")

</div>

Just bumping this, hoping someone can tel me how I can set up my environment so that I can make sense of the OSX crash logs.

---

<div class="post-metadata">

**Author:** ![martinrobinson-2](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/martinrobinson-2/32/630_2.png) [@martinrobinson-2](https://forum.juce.com/u/martinrobinson-2)\
**Post date:** [September 29, 2016, 8:18am UTC](https://forum.juce.com/t/crashlogs-on-osx-dsym-files/18001/4 "2016-09-29T08:18:02Z")

</div>

Hi Nikolai,

Did you get any further with this? I’ve found that adding the following to the Release config _Custom Xcode Flags_ field in the the Projucer generates the dSYM file(s):  
`DEBUG_INFORMATION_FORMAT=dwarf-with-dsym, COPY_PHASE_STRIP=YES, GCC_GENERATE_DEBUGGING_SYMBOLS=YES`

---

<div class="post-metadata">

**Author:** ![martinrobinson-2](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/martinrobinson-2/32/630_2.png) [@martinrobinson-2](https://forum.juce.com/u/martinrobinson-2)\
**Post date:** [September 29, 2016, 8:43am UTC](https://forum.juce.com/t/crashlogs-on-osx-dsym-files/18001/5 "2016-09-29T08:43:03Z")

</div>

I had been turning on the _Projucer_ setting “Debugging enabled” for the “Debug mode” property. This also enables `GCC_GENERATE_DEBUGGING_SYMBOLS` **but** it’s not ideal as it changes other things too. (For example, in a plug-in build inlcuding AAX it links to the Debug version of AAX rather than Release.)

---

<div class="post-metadata">

**Author:** ![nikolaiaudios](https://avatars.discourse-cdn.com/v4/letter/n/77aa72/32.png) [@nikolaiaudios](https://forum.juce.com/u/nikolaiaudios)\
**Post date:** [September 29, 2016, 12:26pm UTC](https://forum.juce.com/t/crashlogs-on-osx-dsym-files/18001/6 "2016-09-29T12:26:42Z")

</div>

Hi  
I added this to the release build:  
GCC\_GENERATE\_DEBUGGING\_SYMBOLS = YES, GCC\_DEBUGGING\_SYMBOLS = full, DEBUG\_INFORMATION\_FORMAT = dwarf-with-dsym, DWARF\_DSYM\_FILE\_NAME = “(PRODUCT\_NAME).dSYM", DWARF\_DSYM\_FOLDER\_PATH = "(CONFIGURATION\_BUILD\_DIR)/$(EXECUTABLE\_FOLDER\_PATH)”

Debugging check box turned off

---

<div class="post-metadata">

**Author:** ![jimc](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/jimc/32/16067_2.png) [@jimc](https://forum.juce.com/u/jimc)\
**Post date:** [February 8, 2017, 11:34am UTC](https://forum.juce.com/t/crashlogs-on-osx-dsym-files/18001/7 "2017-02-08T11:34:11Z")

</div>

Where are you putting these settings?

---

<div class="post-metadata">

**Author:** ![ttg](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/ttg/32/14456_2.png) [@ttg](https://forum.juce.com/u/ttg)\
**Post date:** [February 8, 2017, 11:54am UTC](https://forum.juce.com/t/crashlogs-on-osx-dsym-files/18001/8 "2017-02-08T11:54:04Z")

</div>

On macOS we’re able to symbolicate easily by keeping the .dSYM files generated.

In our Xcode Exporter:  
Xcode (MacOSX)  
Strip local symbols - CHECKED

That’s it… for release.

Your dSYM files will be at:  
`<project_folder>/Builds/MacOSX/build/Release`

To symbolicate the release builds make sure you’re using the exact build \<\> symbols (can be checked against their GUID).

The simple but functional way is using `atos` providing it the binary that the crash was generated from and the dSYM at the same path showing it the binary and adding the memory load address and then each address.

Eg:  
`atos -o ./MyPlug/Contents/MacOS/MyPlug -arch <x86_64 or i386> -l <address it was loaded> <address you'd like to symbolicate>`

---

<div class="post-metadata">

**Author:** ![jimc](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/jimc/32/16067_2.png) [@jimc](https://forum.juce.com/u/jimc)\
**Post date:** [February 8, 2017, 12:32pm UTC](https://forum.juce.com/t/crashlogs-on-osx-dsym-files/18001/9 "2017-02-08T12:32:27Z")

</div>

Sadly the version of JUCE I’m using with this project doesn’t have teh strip local symbols option, nor am I getting a DSYM file in the release build when I manually enable it in Xcode. Not entirely sure what’s going on here … I’m going to try a different approach.

---

<div class="post-metadata">

**Author:** ![jimc](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/jimc/32/16067_2.png) [@jimc](https://forum.juce.com/u/jimc)\
**Post date:** [February 8, 2017, 12:43pm UTC](https://forum.juce.com/t/crashlogs-on-osx-dsym-files/18001/10 "2017-02-08T12:43:56Z")

</div>

Ah … light dawns. Generate Debug Symbols for release was off. That was simple … it’s not enough to ask for a DSYM file alone.
