 <p>There are multiple things:</p> <ol> <li>The crash is caused by an exception and the crash report does not show the required <code>Last Exception Backtrace</code>.</li> <li>Symbolicating the main thread will only show you the <code>main.m</code> call in frame 12 and the uncaught exception handler in frame 2 of thread 0</li> <li>The crash report is written by an old version of <a href="http://plcrashreporter.org/" rel="nofollow">PLCrashReporter</a> (identified by the two <code>[TODO]</code> texts on top) or you are using another server for uncaught exceptions. As is, the crash report will not help you.</li> <li>You should use <code>atos</code> with the apps dSYM instead of the app binary. Using the app binary will never show you filenames or line numbers and will only show you class name and methods if you don't strip symbols from the executable. But you should strip them from the executable to keep the binary size as low as possible (saves 30-50%).</li> <li><p>The way you are calling <code>atos</code> is wrong. <code>0x7f68bb0 0x3017d000 + 84904</code> is not a valid option, and in fact your crash report doesn't even contain that. Instead you need to use only the first address after the binary name per frame. So for the following line:</p> <pre><code>2 Example 0x001ffe3b 0x4000 + 2080315 </code></pre> <p>You would use atos as follows:</p> <pre><code>`atos -arch -armv7 -l 0x4000 -o Example.app.dSYM 0x001ffe3b` </code></pre></li> </ol> <p>You should update your crash reporting SDK to use the latest PLCrashReporter version and make sure exceptions are shown properly in the report.</p>