---
title: Metal debugging types
framework: metal
role: collectionGroup
role_heading: API Collection
path: metal/metal-debugging-types
---

# Metal debugging types

Create capture managers and capture scopes, and review a GPU device’s log after it runs a command buffer.

## Topics

### Frame capture

- [MTLCaptureDescriptor](metal/mtlcapturedescriptor.md)
- [MTLCaptureManager](metal/mtlcapturemanager.md)
- [MTLCaptureDestination](metal/mtlcapturedestination.md)
- [MTLCaptureScope](metal/mtlcapturescope.md)

### Capture errors

- [MTLCaptureError](metal/mtlcaptureerror.md)
- [MTLCaptureErrorDomain](metal/mtlcaptureerrordomain.md)

### Shader logs

- [MTLFunctionLog](metal/mtlfunctionlog.md)
- [MTLLogContainer](metal/mtllogcontainer-swift.struct.md)

## See Also

### Developer tools

- [Supporting Simulator in a Metal app](metal/supporting-simulator-in-a-metal-app.md)
- [Capturing Metal commands programmatically](metal/capturing-metal-commands-programmatically.md)
- [Logging shader debug messages](metal/logging-shader-debug-messages.md)
- [Developing Metal apps that run in Simulator](metal/developing-metal-apps-that-run-in-simulator.md)
- [Improving your game’s graphics performance and settings](metal/improving-your-games-graphics-performance-and-settings.md)
- [Metal debugger](xcode/metal-debugger.md)
- [Metal developer workflows](xcode/metal-developer-workflows.md)
- [GPU counters and counter sample buffers](metal/gpu-counters-and-counter-sample-buffers.md)
