It can be daunting to find your way around a new codebase. LLDB, Instruments, and Xcode all provide excellent points for hooking in to the most critical parts of a codebase and better understanding them. We will use symbolic breakpoints and common scripts with LLDB to collect data and suggest points for inspection. Custom Instruments will be used to visualize what is happening instead of following branching paths. Xcode’s Visual and Memory debuggers allow us to peer inside a running application to look for relevant information. In isolation, each of these tools is powerful in day to day work, but they can be combined to great effect when trying to understand a codebase that may be impenetrable otherwise.