forked from bitstadium/QuincyKit
-
Notifications
You must be signed in to change notification settings - Fork 1
Remote symbolication
TheRealKerni edited this page Jun 19, 2011
·
9 revisions
NOTICE: These are the instructions when using Mac OS X 10.6.2
- Copy the files inside of /server/local onto a local directory on your Intel Mac running at least Mac OS X 10.6.2 having the iPhone SDK 3.x installed
- Adjust settings in local/serverconfig.php
- set $hostname to the server hostname running the server side part, e.g. www.crashreporterdemo.com
- if the /admin/ directory on the server is access restricted, set the required username into $webuser and password into $webpwd
- adjust the path to access the scripts (will be appended to $hostname):
- $downloadtodosurl = ‘/admin/symbolicate_todo.php’; // the path to the script delivering the todo list
- $getcrashdataurl = ‘/admin/crash_get.php?id=’; // the path to the script delivering the crashlog
- $updatecrashdataurl = ‘/admin/crash_update.php’; // the path to the script updating the crashlog
- Make the modified
symbolicatecrash.pl
file from the/server/local/
directory executable:chmod + x symbolicatecrash.pl
- Copy the .app package and .app.dSYM package of each version into the local directory where scripts are located. Best is to create a directory per ap pversion and put the files in there, so multiple versions of the same app can be symbolicated. Example:
- CrashReporterDemo_1_0/CrashReporterDemo.app
- CrashReporterDemo_1_0/CrashReporterDemo.app.dSYM
- CrashReporterDemoBeta_1_1/CrashReporterDemoBeta.app
- CrashReporterDemoBeta_1_1/CrashReporterDemoBeta.app.dSYM
- Test symbolication:
- Download a crash report into the local directory from above
- run
symbolicatecrash nameofthecrashlogfile
- if the output shows function names and line numbers for your code and apples code, everything is fine and ready to go, otherwise there is a problem :(
- If test was successful, try to execute
php symbolicate.php
This will print some error message which can be ignored - Open the web interface and check the crashlogs if they are now symbolicated
- If everything went fine, setup the launchagent:
- Adjust the paths to the directory the files are located in symbolicate.sh (don’t forget chmod +x) and com.crashreportsender.symbolicator.plist
- Copy com.crashreportsender.symbolicator.plist into User/Library/LaunchAgents and add it via
launchctl load com.crashreportsender.symbolicator.plist
IMPORTANT: Don’t forget to add new builds with .app and .app.dSYM packages to the directory, so symbolification will be done correctly. There is currently no checking if a package is found in the directory before symbolification is started, no matter if it was or not, the result will be uploaded to the server