Atos cannot get symbols from dSYM of archived application

后端 未结 2 1487
半阙折子戏
半阙折子戏 2020-11-30 18:34

I have a crash report from BugSense, so I have information on the memory location of crashes but they are not symbolicated. Also Bug Sense does not send traditional crash re

相关标签:
2条回答
  • 2020-11-30 18:37

    To properly get symbols from your archived app's dSYM file and get useful information from your BugSense crash reports (or any other crash reports for that matter):

    1. Copy the stack trace from BugSense into TextEdit or any other text editor. Make sure to use the "clipboard" icon, rather than simply copying the text. Otherwise you will not get the actual memory locations of the stack trace, which are necessary to look up the references using atos and symbolicate your stack trace.
    2. Open XCode and go to the Organizer
    3. Find your archive and right-click it, go to open it in the finder.
    4. Navigate to the directory of the archive, usually ~/Library/Developer/XCode/Archives/YYYY-MM-DD/
    5. Go into the specific archive, and then the dSYMs folder
    6. You will see the file MyApp.app.dSYM and you may think, this is the file that I should run atos against! This is incorrect. It is actually another package! cd into this package, into the folder: MyApp.app.dSYM/Contents/Resources/DWARF and you will find another file simply called MyApp. This is the actual dSYM file.
    7. Run atos -arch armv7 -o MyApp 0x0000000 (or whatever the memory address is) to find the location of your error, or simply atos -arch armv7 -o MyApp to enter interactive mode.
    0 讨论(0)
  • 2020-11-30 18:37

    You have to get the right address. You can use the solution above but you must use hex math to get the right memory address. slide + stack address - load address.

    0 讨论(0)
提交回复
热议问题