lksnmnn / Symbolicate-CrashReports

This script is based on Apple's symbolicate script. With some minor changes it now symbolicates Mac and iOS crash reports from PLCrashReporter.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fails with Xcode 9 (Is this still supported?)

PaulSolt opened this issue · comments

Does this work on Xcode 9?

I'm running into errors when I try to use it.

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash Esa-super-easy-timer-crash-1-0-23.crash > readable_report.crash
sh: /Applications/Xcode.app/Contents/Developer/usr/bin/xcrun: No such file or directory
Error: can't find tool named 'otool' in the macosx SDK or any fallback SDKs at /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash line 115.

Running

which otool

shows me:

/usr/bin/otool

It looks like xcrun is located at a new path /usr/bin/xcrun:

Changing line 112 let's me find otool, but I don't know how to get around the version check that's now failing.

#my $toolPath = `'$DEVELOPER_DIR/usr/bin/xcrun' -find $toolName`;
my $toolPath = `'/usr/bin/xcrun' -find $toolName`;

Next I get the error:

Unsupported crash log version: 12 at /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash line 527.
If I try to force the version to also match 12, then I get other errors.

In my crash log, it has a report version of 12. And it doesn't look like the original symbolicatecrash from Apple supports it either.

Date/Time:             2018-06-15 07:46:18.211 +0300
OS Version:            Mac OS X 10.13.6 (17G39b)
Report Version:        12

The best link I can find for how to work around this issue is How to Symbolize OSX Crash Logs

Hey Paul. I did not use this script for some years, so it is probably not working with the current Xcode tools and the latest crash report version out of the box.

The manual process via atos should work no matter what.

Anyway. If you want to fix the script, it should be fairly straight forward. The version miss-match can be fixed by adding another if-case here: L498-L525. Then just follow the script to the next error.

If you get the script to run, feel free to open a pull request. I think the fastest way to do this is by fixing one error after another.

Thanks Lukas!

I made a quick and dirty check for version 12, and then fixed the error by setting a hardware flag to some value so that it could run. However, I didn't see it actually populate any of the memory addresses, so I gave up.

I was hesitant to replace the original file from Apple, so when I made the copy, I called your version the symbolicatecrash-alt

I posted some of the ways I use atos with multiple memory addresses on the other gist: How to Symbolize OSX Crash Logs