Successfully reported this slideshow.

Debugging RubyMotion

2

Share

Upcoming SlideShare
Introduction to Qt
Introduction to Qt
Loading in …3
×
1 of 14
1 of 14

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Related Audiobooks

Free with a 14 day trial from Scribd

See all

Debugging RubyMotion

  1. 1. How to Debug RubyMotion Apps The Life and Times of an Object
  2. 2. My App Crashed! Now what???
  3. 3. Weapon of Choice gdb • rake debug=1 • Watch it crash • Play!
  4. 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. 5. Demo
  6. 6. Advanced Weaponry MallocStackLoggingNoCompact • man malloc • Set environment variables to log the stack during allocations • Run in GDB, use malloc_history to view stacks
  7. 7. Demo
  8. 8. 4 Rs of Bug Reporting • Reproduce • Report • Reduce • Regress
  9. 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. 10. Report It! • motion support • All steps to reproduce • bonus points for small sample apps • RubyMotionVersion (Have you updated recently?) • Crash log (hint: look in Console.app)
  11. 11. Reduce It! • Eliminate libraries • Simple scripts are best • Shrink code as much as possible!
  12. 12. Regress It! • Did it used to work? • motion update [--force-version=X]
  13. 13. Demo
  14. 14. Questions? @manhattanmetric Joshua Ballanco https://github.com/jballanc http://www.burnsidedigital.com

×