Troubleshooting¶
About Crash Log Analysis¶
In Debug and Release modes during development, the thread backtrace captured during a Crash is symbolized. However, release packages do not include symbol tables, and the key backtrace of the exception thread will display the image name instead of being converted into valid code symbols. The relevant information obtained from the crash log is usually in hexadecimal memory addresses, which cannot directly locate the crash code. Therefore, it is necessary to parse the hexadecimal memory addresses into corresponding classes and methods.
How to Find the dSYM File After Compilation or Packaging¶
- In Xcode, the dSYM file is typically generated alongside the compiled
.appfile and located in the same directory. - If the project has been archived, you can select
Organizerfrom theWindowmenu in Xcode, then choose the corresponding archive file. Right-click the archive file and selectShow in Finder. In Finder, locate the corresponding.xcarchivefile. Right-click the.xcarchivefile, selectShow Package Contents, then navigate to thedSYMsfolder to find the corresponding dSYM file.
Xcode Does Not Generate a dSYM File After Compilation¶
Xcode Release compilation generates dSYM files by default, while Debug compilation does not. The corresponding Xcode configuration is as follows:
Build Settings -> Code Generation -> Generate Debug Symbols -> Yes
Build Settings -> Build Option -> Debug Information Format -> DWARF with dSYM File
Include of non-modular header inside framework module¶
Because the SDK's .h file includes header files from dependent libraries, the following setting is required:
Set Target -> Build Settings -> CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES to YES.

