Is it possible to symbolize C ++ code?

Recently, I have run into problems trying to symbolize the iOS application crash log. For some reason, the UUID dSYM was not indexed in Spotlight. After some manual searching and a healthy dose of command line spells, I was able to partially display the crash log.

At first I thought dSYM might be incomplete or something like that, but then I realized that the methods that are missing are those that are found in C ++ code: this project is an Objective-C application that calls C ++ libraries (via Objective-C ++) that return Objective-C code (again, via Objective-C ++ code). The challenges that I miss are, in particular, those that occur in the land of C ++.

So my question is: is there a way the symbology process can resolve C ++ code function calls? What special parameters do I need to set, if any?

+6
source share
3 answers

One useful program that comes with apple sdk is atos (the address of the character). Basically, here is what you want to do:

 atos -o myExecutable -arch armv7 0x(address here) 

It should print the symbol name at this address.

0
source

I am not good at Objective-C, but I would make sure that C ++ code is compiled with characters. In particular, were you forced to include -rdynamic and / or -g when compiling C ++ code?

0
source

try

dwarfdump --lookup = 0xYOUR_ADRESS YOUR_DSYM_FILE

you will need to search each address manually (or write a script to do this), but if the characters are ok (your dSym file is larger than 20 MB say), this will complete the task.

0
source

Source: https://habr.com/ru/post/918605/


All Articles