Using Breakpoints in Xcode for iOS Development
This article explains how iOS developers can create, configure, and use Xcode breakpoints—including basic, conditional, ignore, action, options, exception, and symbolic breakpoints—to pause execution, inspect state, and streamline debugging with detailed examples and screenshots.
In iOS development, Xcode’s breakpoint feature is a core tool for debugging. By clicking the gutter next to a line of code, a breakpoint is set; the program pauses each time it reaches that line, allowing developers to examine variables and program flow.
The breakpoint toolbar provides several utilities: enable/disable all breakpoints, continue execution past a breakpoint, step to the next line, step into a method, and step out of a method. Advanced breakpoint options include editing the breakpoint to add a Condition, set an Ignore count, define Actions, and configure Options that control post‑action behavior.
Editing a breakpoint opens a panel with four sections: Condition (e.g., trigger only when i == 5 ), Ignore (skip the first N hits), Action (execute LLDB commands or log messages), and Options (prevent automatic continuation to the debugger UI). Common actions are the Debugger Command and Log Message, which can output variable values or custom text using placeholders such as @exp@ , %B , and %H .
Exception breakpoints (global breakpoints) can be added to stop execution whenever any exception is thrown, helping quickly locate runtime errors such as array‑out‑of‑bounds crashes. Symbolic breakpoints allow developers to set a breakpoint on a specific method or C function by specifying the Symbol and optionally the Module, with support for class (+) and instance (-) method syntax.
When configuring a symbolic breakpoint, additional fields for Symbol and Module appear; the Condition field works the same as with regular breakpoints, enabling complex filters like $arg3 == nil && $arg4 == nil . The article concludes that mastering Xcode’s breakpoint capabilities, together with LLDB commands, can significantly improve debugging efficiency.
360 Tech Engineering
Official tech channel of 360, building the most professional technology aggregation platform for the brand.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.