<!--
{
  "documentType" : "article",
  "framework" : "Xcode",
  "identifier" : "/documentation/Xcode/debugging",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Debugging"
}
-->

# Debugging

Identify and address issues in your app using the Xcode debugger, Xcode Organizer, Metal debugger, and Instruments.

## Topics

### Essentials

[Diagnosing and resolving bugs in your running app](/documentation/Xcode/diagnosing-and-resolving-bugs-in-your-running-app)

Inspect your app to isolate bugs, locate crashes, identify excess system-resource usage, visualize memory bugs, and investigate problems in its appearance.

### Debugging strategies

[Diagnosing issues in the appearance of a running app](/documentation/Xcode/diagnosing-issues-in-the-appearance-of-your-running-app)

Inspect your running app to investigate issues in the appearance and placement of the content it displays.

[Diagnosing memory, thread, and crash issues early](/documentation/Xcode/diagnosing-memory-thread-and-crash-issues-early)

Identify runtime crashes and undefined behaviors in your app during testing using
Xcode’s sanitizer tools.

  <doc://com.apple.documentation/documentation/Foundation/analyzing-http-traffic-with-instruments>

[Detecting when your app contacts domains that may be profiling users](/documentation/Xcode/detecting-when-your-app-contacts-domains-that-may-be-profiling-users)

Use Instruments to assess whether your app or its third-party SDKs connect to domains that may profile users.

### Graphics

[Metal developer workflows](/documentation/Xcode/Metal-developer-workflows)

Locate and fix issues related to your app’s use of the Metal API and GPU functions.

[Metal debugger](/documentation/Xcode/Metal-debugger)

Debug and profile your Metal workload with a GPU trace.

### Breakpoints and variables

[Setting breakpoints to pause your running app](/documentation/Xcode/setting-breakpoints-to-pause-your-running-app)

Specify where your app pauses when running the debugger to investigate bugs.

[Stepping through code and inspecting variables to isolate bugs](/documentation/Xcode/stepping-through-code-and-inspecting-variables-to-isolate-bugs)

Find the cause of your bugs by watching variables change as you step through your
source code in the debugger.

### Reports

[Building your app to include debugging information](/documentation/Xcode/building-your-app-to-include-debugging-information)

Configure Xcode to produce the symbol information for debugging and crash reports.

[Diagnosing issues using crash reports and device logs](/documentation/Xcode/diagnosing-issues-using-crash-reports-and-device-logs)

Use crash reports and device logs to debug app issues.

### Entitlements

  <doc://com.apple.documentation/documentation/BundleResources/diagnosing-issues-with-entitlements>



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)
