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

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.