#include <mach/thread_state.h> not included by <mach/mach.h> — include it explicitly

mach/thread_state.h

includes: Availability.h, mach/mach.h
1 function

functionthread_get_register_pointer_values

__API_AVAILABLE(macosx(10.14), ios(12.0), tvos(9.0), watchos(5.0))
kern_return_t thread_get_register_pointer_values(
	thread_t thread,
	uintptr_t *sp,
	size_t *length,
	uintptr_t *values
)
Gets all register values in the target thread with pointer-like contents. There is no guarantee that the returned values are valid pointers, but all valid pointers will be returned. The order and count of the provided register values is unspecified and may change; registers with values that are not valid pointers may be omitted, so the number of pointers returned may vary from call to call. sp is an out parameter that will contain the stack pointer. length is an in/out parameter for the length of the values array. values is an array of pointers. This may only be called on threads in the current task. If the current platform defines a stack red zone, the stack pointer returned will be adjusted to account for red zone. If length is insufficient, KERN_INSUFFICIENT_BUFFER_SIZE will be returned and length set to the amount of memory required. Callers MUST NOT assume that any particular size of buffer will be sufficient and should retry with an appropriately sized buffer upon this error.