How can we generate symbolicate crash report from normal text data?

196 views Asked by At

Im using xcode 12 and ios 13 for ios application.

I have caught runtime exceptions in AppDelegate level append StackTrace (using Thread.callStackSymbols) to Log file and save it with .crash extension. But Stacktrace is not human readable. I followed some article , found we have to generate symobolicate file from it and it should be human readable.

Unfortunately, i couldn't find the way to how to do it ? can someone suggest standard way to how to do it ?

I will attach my log.crash file output content here for your reference.

Please, help me to resolve this issue and i really appreciate your feedback and comment.

 Crash Type : signal 
 Summary: OTHER 
 Reason: Signal OTHER(5) was raised 
 Version: 1.0 
 AppInfo: 
  Device: iPad 
  OS Version: iOS 13.5.1 
  CallStack:  
  2   libsystem_platform.dylib            0x00000001ad5b4884 3834105B-0F62-3E9B-A9F7-B9F29A2B7E1B + 34948
  3   libswiftCore.dylib                  0x00000001bad57d70 01A8EE3D-C8DC-396B-89AD-A5F64DF13F80 + 220528
  4   libswiftCore.dylib                  0x00000001bad57234 $ss17_assertionFailure__4file4line5flagss5NeverOs12StaticStringV_A2HSus6UInt32VtF + 468
  5   libswiftCore.dylib                  0x00000001bad35ed0 $ss12_ArrayBufferV37_checkInoutAndNativeTypeCheckedBounds_03wasfgH0ySi_SbtF + 208
  6   libswiftCore.dylib                  0x00000001bad39ac8 $sSayxSicig + 84
  7   test                                0x000000010047fda8 $s13test24ToolOptionsContainerViewC03setdE8MetaData8toolTypeyAA0dL0O_tF + 1188
  8   test                            0x000000010048341c $s13test24ToolOptionsContainerViewC06updatedeG08toolTypeyAA0dJ0O_tF + 188
  9   test                            0x000000010047f2bc $s13test24ToolOptionsContainerViewC5frame8toolType8delegateACSo6CGRectV_AA0dJ0OAA0defG8Delegate_ptcfc + 2852
  10  test                                0x000000010047e788 $s13test24ToolOptionsContainerViewC5frame8toolType8delegateACSo6CGRectV_AA0dJ0OAA0defG8Delegate_ptcfC + 88
  11  test                                0x00000001002d1564 $s13test0bC4ViewC18setUpHeaderToolbar33_DCFA78A12B92B8638AD99354F8879966LLyyF + 12292
  12  test                                0x00000001002ce540 $s13test0bC4ViewC12initSubViews33_DCFA78A12B92B8638AD99354F8879966LLyyF + 32
  13  test                                0x00000001002cd568 $s13test0bC4ViewC5frameACSo6CGRectV_tcfc + 3716
  14  test                                0x00000001002cd644 $s13test0bC4ViewC5frameACSo6CGRectV_tcfcTo + 56
  15  test                                0x000000010023c854 $sSo6UIViewCABycfcTO + 28
  16  test                                0x000000010023c82c $sSo6UIViewCABycfC + 32
  17  test                                0x000000010024d0ac $s13test0bC14ViewControllerC04loadD0yyF + 200
  18  test                                0x000000010024f7e8 $s13test0bC14ViewControllerC04loadD0yyFTo + 32
  19  UIKitCore                           0x00000001b130eee4 BD57BD6E-12B4-3F92-85CA-754932DA499D + 4108004
  20  UIKitCore                           0x00000001b130f5e8 BD57BD6E-12B4-3F92-85CA-754932DA499D + 4109800
  21  UIKitCore                           0x00000001b128dbc0 BD57BD6E-12B4-3F92-85CA-754932DA499D + 3578816
  22  UIKitCore                           0x00000001b12363d0 BD57BD6E-12B4-3F92-85CA-754932DA499D + 3220432
  23  UIKitCore                           0x00000001b1232654 BD57BD6E-12B4-3F92-85CA-754932DA499D + 3204692
  24  UIKitCore                           0x00000001b195bb64 BD57BD6E-12B4-3F92-85CA-754932DA499D + 10713956
  25  UIKitCore                           0x00000001b194b50c BD57BD6E-12B4-3F92-85CA-754932DA499D + 10646796
  26  UIKitCore                           0x00000001b197b9f0 BD57BD6E-12B4-3F92-85CA-754932DA499D + 10844656
  27  CoreFoundation                      0x00000001ad82906c 50CF3336-313F-3A7D-9048-CB1ED8EC3368 + 688236
  28  CoreFoundation                      0x00000001ad823f60 50CF3336-313F-3A7D-9048-CB1ED8EC3368 + 667488
  29  CoreFoundation                      0x00000001ad8243dc 50CF3336-313F-3A7D-9048-CB1ED8EC3368 + 668636
  30  CoreFoundation                      0x00000001ad823ce8 CFRunLoopRunSpecific + 424
  31  GraphicsServices                    0x00000001b796e38c GSEventRunModal + 160
  32  UIKitCore                           0x00000001b1952444 UIApplicationMain + 1932
  33  test                       0x000000010039d00c main + 88
  34  libdyld.dylib                       0x00000001ad6ab8f0 3D6D64B4-CB2B-3CC4-A7E9-02774DF7AE74 + 6384
1

There are 1 answers

0
Dileepa Chandrasekara On

Try it below link , it is working to some level. but line numbers are missing.

https://github.com/GDXRepo/CallStackParser

But CwlDemangle has some compile errors and replace it by below file.

https://github.com/mattgallagher/CwlDemangle/blob/master/CwlDemangle/CwlDemangle.swift

We can get callStackSymbols from below way.

var callStackSymbols = Thread.callStackSymbols

or

let callStackSymbols = exteption.callStackSymbols

and pass callStackSymbols to classAndMethodForStackSymbol(callStackSymbol)

Then it will return decoded string.