How to symbolicate iOS system framework such as UIKit?
Asked Answered
G

0

9

I am working on a UncaughtExceptionHandler on iOS:

I register a handler:

NSSetUncaughtExceptionHandler(&myHandler);

I receive a callback on App Crash,

void myHandler(NSException * exception)
{
    //i can get stack symbols from
    //exception.callStackSymbols;
}

The following is the stacks i get:

6   UIKit   0x000000018a6622c8  <redacted> + 612 
7   UIKit   0x000000018a678b88  <redacted> + 592 
8   UIKit   0x000000018a678814  <redacted> + 700 
9   UIKit   0x000000018a671d50  <redacted> + 684 
10  UIKit   0x000000018a644f74  <redacted> + 264 

I want to symbolicate the 'redacted' part.

What i tried:

  • System frameworks and it's dsyms file:
/Users/my_user/Library/Developer/Xcode/iOS\ DeviceSupport/8.4.1\ \(12H321\)/symbols/system/Library/Frameworks/UIKit.framework/UIKit
  • Using xcrun atos tool to symbolicate this line:
6   UIKit   0x000000018a6622c8  <redacted> + 612

xcrun atos -arch arm64 -o /Users/my_user/Library/Developer/Xcode/iOS\ DeviceSupport/8.4.1\ \(12H321\)/symbols/system/Library/Frameworks/UIKit.framework/UIKit -l 0x18a662064 0x000000018a6622c8

I can't find the right output from this command. What did I miss? My question goes: How to symbolicate the system framework such as UIKit?

Guyette answered 30/11, 2016 at 7:40 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.