iOS Debugging Fundamentals
Learn the fundamentals of debugging in Xcode: including breakpoints, stack traces, and visibly inspecting the view hierarchy. After this course, you’ll be better able to understand what’s happening throughout the flow of your app, and why! By Felipe Laso-Marsetti.
Learning path
This is part of the iOS IDEs & Tools learning path. View path.
Who is this for?
This course is for beginner developers coming from our previous iOS paths (iOS and SwiftUI for Beginners, iOS User Interfaces with SwiftUI, and iOS Data and Networking) who want to take their skills to the next level and improve their debugging skills.
Covered concepts
- Debugging in Xcode
- Breakpoints
- The Variable View
- The Console
- View Debugging
- The Call Stack
Part 1: iOS Debugging Fundamentals
Why learn debugging? This introductory episode will answer this question and preview the course.
Pause your app in the middle of execution using breakpoints. Use the breakpoint navigator to view and manage all the breakpoints in your project.
Activate and deactivate individual breakpoints, disable all breakpoints in a project, and delete breakpoints in Xcode.
View the values stored in your properties and constants while your app is paused. Use debugger commands to change the state of your app while debugging.
Challenge time! In this challenge, you’ll use the skills you’ve learned so far to find and fix a bug.
Use Xcode to step through execution of your app one line at a time. Learn the different ways to step through your code.
See how the call stack works and how to navigate it during a debug session to view the app state at different points in the stack.
Learn some tools for debugging visual issues with your app. Debug a UI issue using Xcode’s debug view hierarchy tool.
Learn how to use Debug Previews to debug SwiftUI code using Previews instead of relying on a simulator or device.
In this challenge, use all of your acquired knowledge to find the source of the last bug.
In this episode, review what you’ve learned in this course and see where to go next.