New Course: Intermediate iOS Debugging

Jerry Beers

If you followed the Beginning iOS Debugging course, you’re ready to take your skills to the next level with more powerful debugging tools.

Today, we are releasing a brand new course: Intermediate iOS Debugging. In this course, you’ll learn more about using breakpoints, some tricks using LLDB (Xcode’s debugger), and some of the tools Xcode provides to help with debugging.

Take a look at what’s inside:

Part 1: Improved Breakpoints and Logging

In part one, pick up some more advanced breakpoint techniques.

  1. Introduction This introductory video will preview the course and introduce the debugging framework that will be used throughout.
  2. Breakpoint Improvements Create exception breakpoints to make finding the cause of an unhandled exception easier. See how to share breakpoints between projects or multiple users of a project.
  3. Logging Using Breakpoints Use breakpoints to add new logging without having to stop, add code, and recompile.
  4. Breaking in UIKit Learn how to use symbolic breakpoints to understand what’s going on in UIKit code. Add conditions to fine tune your breakpoints.
  5. Challenge: Logging Put your new-found skills to the test, logging what’s going on in framework code.
  6. Conclusion Review what you’ve learned in this section and see what’s coming up in Section 2.

Part 2: LLDB

In part two, tap into the power of the LLDB command line.

  1. Introduction In this video, see what’s coming up in the section and start learning about scope in LLDB.
  2. Inspecting Variables Learn about the three ways to inspect data in your app and the danger that comes with the power.
  3. Creating Variables Create new variables in LLDB and use them to make your debugging life easier.
  4. Challenge: Using Variables to Add Conditions Use LLDB variables between multiple breakpoints to make them more powerful.
  5. Changing UI See how to reflect changes in the UI without having to resume your app.
  6. Viewing Return Values Learn a new trick to view register values and use that to view the return value of a method.
  7. Breaking LLDB Use a flag to allow a method called from the LLDB command line to stop at breakpoints in that method.
  8. Conclusion Review what you’ve learned in this section and see what’s coming up in Section 3.

Part 3: Xcode

In the final part of the course, learn about some Xcode tools that can help you debug your apps.

  1. Introduction Preview the tools Xcode provides to simplify debugging.
  2. Application Language Use the scheme to make testing and switching between languages much easier and faster.
  3. Main Thread Checker Learn how to quickly spot issues where UIKit code is being called from a background thread.
  4. Malloc Stack Logging See how this tool helps pinpoint memory issues – taking you right to the line of code where a retained object was instantiated.
  5. Challenge: Viewing Properties from Debug Memory Graph In this challenge, use unsafeBitCast to view properties of objects in the debug memory graph. As a bonus, learn how to create command aliases.
  6. Runtime Issues See how Xcode finds and highlights issues with your app at runtime.
  7. Wireless Debugging Learn how easy it is to debug without having to tether your device to your Mac.
  8. Conclusion Review what you’ve learned in this course and see where to go next.

Where To Go From Here?

Want to check out the course? You can watch the first two videos for free!

The rest of the course is for raywenderlich.com subscribers only. Here’s how you can get access:

  • If you are a raywenderlich.com subscriber: The first three videos are ready for you today! The rest of the course will be released over this week. You can check out the course here.
  • If you are not a subscriber yet: What are you waiting for? Subscribe now to get access to our new Intermediate iOS Debugging course and our entire catalog of over 500 videos.

Stay tuned for more new and updated courses to come. I hope you enjoy the course! :]

Jerry Beers

Jerry is a co-founder of Five Pack Creative, a mobile development company specializing in iOS development. He’s worked on client projects, like American Airlines and Match.com, but lately he’s been pouring his focus into Hours, a time tracking app. He is passionate about creating well-crafted code and teaching others. In partnership with Ray, he recently launched Alt-U, a live remote and in-person iOS training program.

Jerry enjoys spending time on the beach with his wife and kids, SCUBA diving, and watching movies.

You can get in touch via email or Twitter.

raywenderlich.com Weekly

Sign up to receive the latest tutorials from raywenderlich.com each week, and receive a free epic-length tutorial as a bonus!

Advertise with Us!

PragmaConf 2016 Come check out Alt U

Our Books

Our Team

Video Team

... 27 total!

iOS Team

... 81 total!

Android Team

... 39 total!

Unity Team

... 16 total!

Articles Team

... 4 total!

Resident Authors Team

... 30 total!

Podcast Team

... 7 total!

Recruitment Team

... 8 total!