Debugging RubyMotion
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Debugging RubyMotion

on

  • 924 views

Slides from the presentation on "Debugging RubyMotion" given at the RubyMotion #inspect 2013 conference.

Slides from the presentation on "Debugging RubyMotion" given at the RubyMotion #inspect 2013 conference.

Statistics

Views

Total Views
924
Views on SlideShare
924
Embed Views
0

Actions

Likes
2
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Debugging RubyMotion Presentation Transcript

  • 1. How to DebugRubyMotion AppsThe Life and Times of an Object
  • 2. My App Crashed!Now what???
  • 3. Weapon of Choicegdb• rake debug=1• Watch it crash• Play!
  • 4. What is an Object?• Just a struct!• First value is the isa pointer to the Class• In gdb, try “x”• Refer to the Obj-C Runtime Reference
  • 5. Demo
  • 6. Advanced WeaponryMallocStackLoggingNoCompact• man malloc• Set environment variables to log the stackduring allocations• Run in GDB, use malloc_history to viewstacks
  • 7. Demo
  • 8. 4 Rs of Bug Reporting• Reproduce• Report• Reduce• Regress
  • 9. Reproduce It!• Can you make the bug occur every time?most of the time? some of the time?• Check all config files, Rakefile• Environment and EnvironmentVariables• Ask a friend
  • 10. Report It!• motion support• All steps to reproduce• bonus points for small sample apps• RubyMotionVersion (Have you updatedrecently?)• Crash log (hint: look in Console.app)
  • 11. Reduce It!• Eliminate libraries• Simple scripts are best• Shrink code as much as possible!
  • 12. Regress It!• Did it used to work?• motion update [--force-version=X]
  • 13. Demo
  • 14. Questions?@manhattanmetricJoshua Ballancohttps://github.com/jballanchttp://www.burnsidedigital.com