简体   繁体   中英

build settings to generate proper dSYM

I have a question regarding dSYM. I made an experiment with my app and added following code to it:

if (currentMenuPage_ == MenuPageAttrsVals) {
    return ((ValueAndId *) [currentValues_ objectAtIndex:-1]).name;
}

as expected application crashed and crash log was generated.

However Xcode and atos can not tell me exact line where the crash is.

2   CoreFoundation                  0x3192c23d -[__NSArrayI objectAtIndex:] + 165
3   MyApp                           0x00053487 0x49000 + 42119
4   MyApp                           0x0005102d 0x49000 + 32813

Do I have to set some special settings when building my app to generate proper dSYM?

If I call dwarfdump --uuid MyApp.app.dSYM I get a number. Does this number should appear somewhere in my crash log?

That number should appear in the first line under the Binary Images section. (It might be formatted differently, eg lowercase and without the - chars).

Please remember, every time you do a build, this UUID changes, and if you did not save the previous dSYM, it won't symbolicate it.

If you did not change a lot (any) code, you could replace the UUID string in the Binary Images section (keep the format in there) with the new one from the latest dSYM.

If symbolication did not work, and the UUID is correct, that folder is most likely not indexed by Spotlight, so the symbolication script can't find the dSYM.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM