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