"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.
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!
Lesson 1A: Debugging, Printing, Logging
In this lesson, you'll be introduced to the "So Many Bugs" app, which we'll use to solve coding mysteries throughout the course. You'll also learn about the debugging process, and how to use print statements to identify bugs.
Lesson 1B: Stepping Through Code
In this lesson, you'll learn how to use breakpoints to examine application state at any point during execution.
Lesson 2A: LLDB and Breakpoint Actions
In this lesson, you'll learn about LLDB (low-level debugger)—the debugging super tool. You'll be introduced to common LLDB commands, tips, and tricks.
Lesson 2B: Breakpoints and Visual Tools
In this lesson, you'll learn about exception and symbolic breakpoints, and how to debug your code using Xcode's visual debugging tools.