문제

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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top