Finding and eliminating bugs in your code is a critical phase of the development process. Xcode provides advanced debugging facilities, which include debugging from the text editor so that you don’t stray far from your code, and using the mini debugger, which provides a graphical debugging experience that is less intrusive on the running application than other methods. You can also use a more traditional, specialized graphical debugger, or the debugger console.
This document describes the Xcode debugging environments and explains how to trace your program’s execution and view its data. It is intended for developers and system administrators who want to use Xcode to debug programs and analyze their behavior and performance.
Organization of This Document
The first chapter, Debugging Essentials, provides a high-level summary of the Xcode debugging environments.
The next five chapters describe the debugging environments and show how to customize your debugging experience:
Debugging in the Debugger describes the main debugging environment.
Debugging in the Text Editor describes the text-editor–based debugging environment.
Debugging in the Mini Debugger explains how to use the mini debugger to debug programs unobtrusively.
Debugging in the Console discusses the GDB Console window.
Debugging Preferences describes the Debugging preferences pane.
The remaining chapters describe general debugging features and capabilities:
Managing Program Execution describes the mechanisms used to control and monitor the execution of programs.
Viewing Variables and Memory discusses the various ways in which you can view the values of variables as you debug your programs.
Modifying Running Code shows how you can modify your executable while it is running.
Debugging Programs Remotely describes how to debug a program running on another computer.
Mac OS X Low-Level Debugging describes the Mac OS X debugging facilities that can help you in your debugging tasks.
Debug Information Format talks about the storage and usage of debug information in binaries.