---
title: Debugging
framework: Kernel
role: collectionGroup
role_heading: API Collection
path: kernel/debugging
---

# Debugging

Debug your kernel extensions using the kernel debugger, assertions, exceptions, backtraces, and logging.

## Topics

### Kernel Debugging

- [Debugger](kernel/1575299-debugger.md)
- [kdbg_get_cpu](kernel/3197813-kdbg_get_cpu.md)
- [kdbg_get_timestamp](kernel/3197814-kdbg_get_timestamp.md)
- [kdbg_set_cpu](kernel/3197815-kdbg_set_cpu.md)
- [kdbg_set_timestamp](kernel/3197816-kdbg_set_timestamp.md)
- [kdbg_set_timestamp_and_cpu](kernel/3197817-kdbg_set_timestamp_and_cpu.md)
- [kdebug_commpage_state](kernel/3242840-kdebug_commpage_state.md)
- [kdebug_debugid_enabled](kernel/3242841-kdebug_debugid_enabled.md)
- [kdebug_debugid_explicitly_enabled](kernel/3242842-kdebug_debugid_explicitly_enable.md)
- [kdebug_using_continuous_time](kernel/3242843-kdebug_using_continuous_time.md)
- [kernel_debug](kernel/1568810-kernel_debug.md)
- [kernel_debug1](kernel/1568762-kernel_debug1.md)
- [kernel_debug_enter](kernel/3242844-kernel_debug_enter.md)
- [kernel_debug_filtered](kernel/2123006-kernel_debug_filtered.md)
- [kernel_debug_flags](kernel/2977320-kernel_debug_flags.md)
- [kernel_debug_register_callback](kernel/3242845-kernel_debug_register_callback.md)

### kdp

- [kdp_register_callout](kernel/1526280-kdp_register_callout.md)
- [kdp_register_send_receive](kernel/1399355-kdp_register_send_receive.md)
- [kdp_unregister_send_receive](kernel/1399359-kdp_unregister_send_receive.md)

### Assertions

- [Assert](kernel/1574809-assert.md)
- [assert_wait](kernel/1524384-assert_wait.md)
- [assert_wait_deadline](kernel/1524378-assert_wait_deadline.md)
- [assert_wait_deadline_with_leeway](kernel/1524380-assert_wait_deadline_with_leeway.md)
- [assert_wait_timeout](kernel/1524367-assert_wait_timeout.md)
- [assert_wait_timeout_with_leeway](kernel/1524381-assert_wait_timeout_with_leeway.md)

### Backtrace

- [backtrace](kernel/1644760-backtrace.md)
- [backtrace_user](kernel/2202280-backtrace_user.md)
- [OSReportWithBacktrace](kernel/1593374-osreportwithbacktrace.md)
- [OSBacktrace](kernel/1593371-osbacktrace.md)
- [OSPrintBacktrace](kernel/1593373-osprintbacktrace.md)

### Exceptions

- [catch_exception_raise](kernel/1537287-catch_exception_raise.md)
- [catch_exception_raise_state](kernel/1537255-catch_exception_raise_state.md)
- [catch_exception_raise_state_identity](kernel/1537251-catch_exception_raise_state_iden.md)
- [catch_mach_exception_raise](kernel/1559883-catch_mach_exception_raise.md)
- [catch_mach_exception_raise_state](kernel/1559877-catch_mach_exception_raise_state.md)
- [catch_mach_exception_raise_state_identity](kernel/1559863-catch_mach_exception_raise_state.md)

### Logging

- [OS_os_log](kernel/os_os_log.md)
- [IOLog](kernel/1575337-iolog.md)
- [IOLogv](kernel/1575323-iologv.md)
- [os_log_create](kernel/1643798-os_log_create.md)
- [os_log_debug_enabled](kernel/1643808-os_log_debug_enabled.md)
- [os_log_info_enabled](kernel/1643817-os_log_info_enabled.md)

### Helpers

- [OSPrintMemory](kernel/1543117-osprintmemory.md)
- [IOFindNameForValue](kernel/1575325-iofindnameforvalue.md)
- [IOFindValueForName](kernel/1575321-iofindvalueforname.md)

## See Also

### Utilities

- [AppleDSP](kernel/appledsp.md)
