0

I tried to symbolicate iOS crash report

zhou:bin zhou$ ./atos -arch armv7s -o ktv 0x001145fb

I get the following result

-[InviteChorusCell showDuetWorks] (in ktv) (InviteChorusCell.mm:108)

Everything seems ok, I am sure my dsym file and atos file are right ones, and I am sure the file name and line number he gives me are not right, I can't find the right compared error. Does anyone met the same problem with me? I'm very thankful.

Sorry for my cheap English.

 *** -[NSURL initFileURLWithPath:]: nil string parameter 
(null)
(
    0   CoreFoundation                      0x3595f8a7 __exceptionPreprocess + 186
    1   libobjc.A.dylib                     0x37d06259 objc_exception_throw + 32
    2   CoreFoundation                      0x3595f789 +[NSException raise:format:] + 0
    3   CoreFoundation                      0x3595f7ab +[NSException raise:format:] + 34
    4   Foundation                          0x353f005f -[NSURL(NSURL) initFileURLWithPath:] + 78
    5   Foundation                          0x353efffb +[NSURL(NSURL) fileURLWithPath:] + 42
    6   ktv                                 0x0005ae25 _mh_execute_header + 93733
    7   ktv                                 0x00063a25 _ZNSt11_Deque_baseIsSaIsEE15_M_create_nodesEPPsS3_ + 27336
    8   ktv                                 0x0007341b _ZNSt11_Deque_baseIsSaIsEE15_M_create_nodesEPPsS3_ + 91326
    9   ktv                                 0x00064b8f _ZNSt11_Deque_baseIsSaIsEE15_M_create_nodesEPPsS3_ + 31794
    10  ktv                                 0x0007349b _ZNSt11_Deque_baseIsSaIsEE15_M_create_nodesEPPsS3_ + 91454
    11  Foundation                          0x3548360d __NSFireTimer + 144
    12  CoreFoundation                      0x35933a33 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 14
    13  CoreFoundation                      0x35933699 __CFRunLoopDoTimer + 364
    14  CoreFoundation                      0x3593226f __CFRunLoopRun + 1206
    15  CoreFoundation                      0x358b54a5 CFRunLoopRunSpecific + 300
    16  CoreFoundation                      0x358b536d CFRunLoopRunInMode + 104
    17  GraphicsServices                    0x37551439 GSEventRunModal + 136
    18  UIKit                               0x333c1cd5 UIApplicationMain + 1080
    19  ktv                                 0x0004d8af _mh_execute_header + 39087
    20  ktv                                 0x00046160 _mh_execute_header + 8544
)
Kerni
  • 15,241
  • 5
  • 36
  • 57
Zhou
  • 233
  • 1
  • 3
  • 12

1 Answers1

1

Did you calculate the address correctly?

I wrote an answer to a similar question over here: https://stackoverflow.com/a/13576028/474794

Community
  • 1
  • 1
Kerni
  • 15,241
  • 5
  • 36
  • 57
  • I just have seen your comments, it is very excellent, but I just don't know what is Binary Images section and how can I get the load address, I paste all my my crash report on the top, there is no Binary Images section, how can I find them or is there have another way to find load address? I am fresher for iOS, thank you for help me, very thankful. – Zhou Nov 27 '12 at 04:07
  • I find my crash reports have no Binary Images section, because I get them from other platform, does it very important? If I have no Binary Images section in my report, can't I get my symbolicate my addresses? – Zhou Nov 27 '12 at 04:28
  • Every iOS crash report has this section. What do you mean by "from other platform"? – Kerni Nov 27 '12 at 12:31
  • I used an packetage in my app, that created by other company, it can record our user's actions and their crash reports. So we can see our crashes on their websites. Each of the crashes looks like the one I put on the top. It has no section. I thought maybe it lack some important parts , so is there any other way to get load address? – Zhou Nov 27 '12 at 13:22
  • Sorry for my poor English, haa. – Zhou Nov 27 '12 at 13:24
  • The symbols that are shown are surely wrong. `_mh_execute_header` and the other symbols of your app are not correct. Possibly due to some bug in that companies SDK and the symbolication process. Without the binary images section you will not be able to fix this. Check if they provide an update to version which is really compatible with armv7s, because the one your are using is not working correctly. Or use another service/library :) – Kerni Nov 27 '12 at 14:37
  • I used this service for about 5 months, yet it can help me find the crashes. As you have said, I find this issue after ios6 and armv7s released, but they have update their SDK to compatible with armv7s and I have been using the updated one. How do you know it is not working correctly? And what is the "_mh_execute_header" mean? Can you tell me and how do you get crash report from your user's devices? – Zhou Nov 27 '12 at 17:25
  • `_mh_execute_header` is the result of a broken symbolication process, most likely done on the device which an SDK that is not fully compatible. In addition it doesn't even show the line number (another hint for the symbolication to be done on the device). I am the developer of the open source QuincyKit framework to collect and manage crash reports, in addition I am Co-Founder of the HockeyApp.net web service which goes far beyond what QuincyKit does. So I know quite a bit about crash reporting and symbolication ;) – Kerni Nov 27 '12 at 18:03
  • Very thankful, the crash reports I have got are lack some informations. I should see the crashes from iTunesConnect. – Zhou Nov 28 '12 at 12:50