Force symbolicatecrash to use a specific .app and .dSYM file?

前端 未结 5 713
生来不讨喜
生来不讨喜 2021-02-01 11:11

I have a .crash log from an ad-hoc version of my app that symbolicatecrash refuses to symbolicate. I have already applied the .patch to remove the \'die\' command in symbolicate

5条回答
  •  慢半拍i
    慢半拍i (楼主)
    2021-02-01 11:57

    I have been able to force symbolicatecrash to symbolicate my crash log by overriding the dSYM UUID to the expected crashlog's UUID.

    Put dsym and unsymbolicated.crash in same folder.

    Run ./symbolicatecrash in Verbose mode:

    ./symbolicatecrash unsymbolicated.crash > symbolicated.crash -d ./MyApp.app.dSYM/ -v 
    

    Scroll to bottom and find the crashlog's expected UUID:

    Did not find dsym for db3e90fa8b6d462c9d65049ab1f22ea4
    -- [db3e90fa8b6d462c9d65049ab1f22ea4] NO MATCH (spotlight)
    

    In Finder right click your .dsym file and click "Get Info" under "More Info" section header you will have the dSYM UUIDs: property. Copy this value to clipboard.

    Using a hex editor (I used iHex from App Store) open MyApp.dysm/Contents/Resources/DWARF/MyApp and CMD+F the copied UUID.

    Replace this UUID with the expected expected one in this example I replaced it with: "db3e90fa8b6d462c9d65049ab1f22ea4".

    NOTE: While this is exceptionally hacky and does not guarantee success and will more then likely result in mis-symbolicated crash with nonsensical method names but maybe it will work for you!

提交回复
热议问题