utrace(2)

utrace2

Insert user record in ktrace log

Usage

#include <sys/param.h>

#include <sys/time.h>

#include <sys/uio.h>

#include <sys/ktrace.h>

int

utrace(const void *addr, size_t len);

Library

Standard C Library (libc, -lc)

Overview

Adds a record to the process trace with information supplied by user. The record contains len bytes from memory pointed to by addr. This call only has an effect if the calling process is being traced.

Return values

The utrace() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

Errors

[EINVAL]

Specified data length len was bigger than KTR_USER_MAXLEN.

[ENOMEM]

Insufficient memory to honor the request.

[ENOSYS]

Currently running kernel was compiled without ktrace(2) support (options KTRACE).

Releases

54 releases since FreeBSD 5.2-RELEASE; the text changed 33 times.

  1. 5.2–5.2.1
  2. 5.3–6.3
  3. 6.4
  4. 7.0
  5. 7.1
  6. 7.2
  7. 7.3
  8. 7.4
  9. 8.0
  10. 8.1
  11. 8.2
  12. 8.3
  13. 8.4
  14. 9.0
  15. 9.1
  16. 9.2
  17. 9.3
  18. 10.0
  19. 10.1
  20. 10.2
  21. 10.3
  22. 10.4
  23. 11.0
  24. 11.1
  25. 11.2
  26. 11.3
  27. 11.4
  28. 12.0
  29. 12.1
  30. 12.2
  31. 12.3
  32. 12.4
  33. 13.0–13.2
  34. 13.3–16.0

History

The utrace() system call first appeared in FreeBSD 2.2.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.