Symbolizing Crash Logs in Xcode 4.3.2

Whenever a crash occurs in my application, the crash logs are displayed in a symbolic form inside the organizer. Now the problem is that all memory addresses pointing to iOS classes become symbolic, but the memory addresses of my application classes do not become symbolic. What property of the Xcode project must be set to enable them.

These are the current build settings that have activated iOS class symbology. I am using Xcode 4.3.2.

Current build settings

+8
ios iphone cocoa-touch xcode
source share
4 answers

Have you turned off your attention? symbolicatecrash uses spotlight to search for binary files and dsym files, so if you turn off the spotlight, it will not be able to find them. Anyway, here's how to convert the hextxtrace address to a line number:

[1] Find the .dSym file by going to Xcode-> Organizer, clicking on the archives, then right-clicking on the archive and cd in this directory (you can simply drag and drop the folder into the shell window).

[2] cd to the dSYMs directory.

[3] run the dwarfdump command to translate the hexadecimal address to the line number in your code:

dwarfdump --arch armv7 myApp.dSYM --lookup 0xaabbccdd | grep 'Line table' 
+1
source share

Strip Debug Symbols During Copy : should be YES for non-debug configuration builds, as it will blow your application with binary 30-50%

Debug Information Format : there must be a DWARF with dSYM File for all configurations in order to be able to symbolize your characters from any binary file.

Now I assume that you are trying to do this on debug builds, in builds that are not the latest build command results in Xcode. You must remember that every time you run the build command, a new executable file and a new dSYM package are created, and the previous one is redefined! (Except when you use the Archive function)

Symbology script analyzes the UUID from your application crash report and looks for the corresponding .app AND.app.dSYM package through the spotlight. Therefore, if any spotlight does not index the target path, or the binaries are replaced with another launch of the assembly, it will not be able to symbolize application symbols.

+1
source share

Try setting Deploy Post-Processing to NO.

DEPLOYMENT_POSTPROCESSING. . Activating this option indicates that binary files should be deleted, and the file mode, owner and group information should be set to standard values.

0
source share

Xcode seems to use the latest .dsym archive file to symbolize your logs (even when debugging), so try archiving your application .

After archiving your application, re-create crash reports.

It worked for me.

0
source share

All Articles