I've only noticed this problem in one crash log, and I can't quite get my head around why this is occurring. Basically, I have symbolicated a crash log from a customer, and it all checks out and symbolicates correctly, except for one frame, which remains unsymbolicated. A snippet is below (frame 9 is the problem):
6 libc++abi.dylib 0x00001114 std::terminate() + 20
7 libc++abi.dylib 0x00002513 __cxa_throw + 123
8 libstdc++.6.dylib 0x00005ba9 std::__throw_out_of_range(char const*) + 153
9 MyApp 0x002ff343 0x0000c000 + 3093315
10 MyApp 0x002ec02b -[ChildViewController tableView:cellForRowAtIndexPath:] (ChildViewController.mm:42)
11 MyApp 0x0042d725 -[ViewControllerRoot tableView:cellForRowAtIndexPath:] (ViewControllerRoot.m:198)
12 UIKit 0x0004e54d -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] + 413
I have tried various methods to get this line symbolicated, with no avail. I've run atos manually, as well as symbolicatecrash.pl (with verbosity to see what's going on). The dSYM and .app files are found fine, and match the UUID of the application within the binary images section of the crash log. I'm on the latest stable Xcode, 4.6. Other team members have also tried, with the same results.
Is there something going wrong here, or is this an issue with the dynamic nature of Objective-C? I believe it's the former, but the fact the other frames/symbols from MyApp are symbolicated confuses me more!
Update: I should clarify, it may seem that the missing frame can be deduced quite easily, but there are multiple calls to numerous different classes at this point, that can all potentially throw an out_of_range
error. Hence this missing frame is making debugging significantly more difficult.
Could this be 3rd party code that is invoked? Some 3rd party static libraries don't contain symbols.
Another possibility is, that this code is integrated via a static library that is generated with a Xcode subproject. And this project is set to strip symbols from the static library.
Both these would result in no symbols appearing in the crash reports for those calls.