Skip to content

Xcode Debugging

Free Course

Print Statements, Breakpoints, and LLDB

Related Nanodegree Program

Introduction to Programming

About this course

"If debugging is the process of removing bugs, then programming must be the process of putting them in." Edsger W. Dijkstra

Debugging is yin to programming's yang; you can't have one without the other. However, finding bugs in programs can be an incredibly frustrating and demotivating process for developers. This course will teach you a variety of techniques to help make debugging your code easier.

What you will learn

  1. Debugging, Printing, Logging
    • Learn about the difference between warnings and errors in Xcode.
    • Look at an example app riddled with bugs to troubleshoot.
    • Outline a debugging process and use print statements to identify bugs.
  2. Stepping Through Code
    • Learn how to use breakpoints in Xcode.
    • Examine application state and stack frames during the execution of an application.
    • Diagnose and understand run-time problems using Xcode's debugging tools.
  3. LLDB and Breakpoint Actions
    • Learn about LLDB (low-level debugger)—the debugging super tool.
    • Use LLDB commands to investigate issues in code.
    • Add actions to breakpoints to improve your debugging workflow.
  4. Breakpoints and Visual Tools
    • Set special exception and symbolic breakpoints.
    • Use Xcode's visual debugging tools to fix user interface problems.
    • Practice debugging and fixing issues in an existing application.

Prerequisites and requirements

This course assumes rudimentary iOS programming experience. You should be able to scan Swift code to identify methods and errors, and make minor changes to correct them.

See the Technology Requirements for using Udacity.

Why take this course?

Debugging is one of the most fundamental processes involved in writing software. Nobody writes perfect code, and job-ready developers should know how to find and fix programming errors.

In this course, you'll learn standard methodologies for debugging software—especially for iOS applications. Additionally, you'll learn how to use Xcode’s debugging tools (breakpoints, LLDB, etc.) to squash those bugs!

Learn with the best.

  • Jarrod Parkes
    Jarrod Parkes