Symbolicating Crash Reports With atos

https://developer.apple.com/library/archive/technotes/tn2151/_index.html

Symbolicating Crash Reports With atos

The atos command converts numeric addresses to their symbolic equivalents. If full debug symbol information is available then the output of atos will include file name and source line number information. The atos command can be used to symbolicate individual addresses in the backtrace of an unsymbolicated, or partially symbolicated, crash report. To symbolicate a part of a crash report using atos:

  1. Find a line in the backtrace which you want to symbolicate. Note the name of the binary image in the second column, and the address in the third column.

  2. Look for a binary image with that name in the list of binary images at the bottom of the crash report. Note the architecture and load address of the binary image.

Figure 4  Information from the crash report that is needed to use atos.

  1. Locate the dSYM file for the binary. You can use Spotlight to find the matching dSYM file for the UUID of the binary image. See the Symbolication Troubleshooting section. dSYM files are bundles in which reside a file containing the DWARF debugging information generated by the compiler at build time. You must provide the path to this file, not to the dSYM bundle, when invoking atos.

  2. With the above information you can symbolicate addresses in the backtrace using the atos command. You can specify multiple addresses to symbolicate, separated by a space.

    atos -arch <Binary Architecture> -o <Path to dSYM file>/Contents/Resources/DWARF/<binary image name> -l <load address> <address to symbolicate>

Listing 1  Example usage of the atos command following the steps above, and the resulting output.

$ atos -arch arm64 -o TheElements.app.dSYM/Contents/Resources/DWARF/TheElements -l 0x1000e4000 0x00000001000effdc
-[AtomicElementViewController myTransitionDidStop:finished:context:]

猜你喜欢

转载自blog.csdn.net/chenyijun/article/details/85096331