nbonwit
nbonwit

Reputation: 305

Why won't my Monotouch app symbolicate in Instruments?

I compiled my App for Debug/iPhone, opened Instruments for CPU Time profiling, attached it to my iPad, chose my app (MainApp) as the target, recorded an instruments session and then stopped it.

None of the function names are symbolicated. They all look like this (0x133de3, 0x2a1be7, etc).

I went to Instruments->File->Re-Symbolicate Document... and I selected my app and chose Locate. I pointed it to what I thought was the proper symbol file generated by monotouch at this path: Desktop/iPadApp/MainApp/bin/iPhone/Debug/MainApp.app.dSYM

However, when I click Open, it says "Unable to use selected symbols - Re-Symbolication requires MainApp.app.dSYM and MainApp to have matching UUIDs."

I'm not sure what that means or how to fix the problem. I'm running XCode 4.2, MonoDevelop 3.0.3.2 and Monotouch 5.2.12 on Snow Leopard.

Any help would be much appreciated! Thanks!

Upvotes: 0

Views: 644

Answers (1)

nbonwit
nbonwit

Reputation: 305

This answer is courtesy of Miguel...

Assuming that your app is called "Foo", you can check the UUIDs for your binaries to make sure that they correspond to each other like this:

$ dwarfdump --uuid Foo.app/Foo
UID: A5B46B4C-F5A1-3CDD-82B0-02CB7222F8CC (armv7) Foo.app/Foo
$ dwarfdump --uuid Foo.app.dSYM
UID: A5B46B4C-F5A1-3CDD-82B0-02CB7222F8CC (armv7) Foo.app.dSYM/Contents/Resources/DWARF/Foo

If they do not match, it means that you do not have the build up to date and that one of those files is stale.

Upvotes: 1

Related Questions