ktrace - process tracing
Lb libc
The Fa tracefile argument gives the pathname of the file to be used for tracing. The file must exist and be a regular file writable by the calling process. All trace records are always appended to the file, so the file must be truncated to zero length to discard previous trace data. If tracing points are being disabled (see KTROP_CLEAR below), Fa tracefile may be NULL.
The Fa ops argument specifies the requested ktrace operation. The defined operations are:
The Fa trpoints argument specifies the trace points of interest. The defined trace points are:
Each tracing event outputs a record composed of a generic header
followed by a trace point specific structure.
The generic header is:
struct ktr_header {
int ktr_len; /* length of buf */
short ktr_type; /* trace record type */
pid_t ktr_pid; /* process id */
char ktr_comm[MAXCOMLEN+1]; /* command name */
struct timeval ktr_time; /* timestamp */
intptr_t ktr_tid; /* was ktr_buffer */
};
The ktr_len field specifies the length of the ktr_type data that follows this header. The ktr_pid and ktr_comm fields specify the process and command generating the record. The ktr_time field gives the time (with microsecond resolution) that the record was generated. The ktr_tid field holds a threadid.
The generic header is followed by
ktr_len
bytes of a
ktr_type
record.
The type specific records are defined in the
#include <sys/ktrace.h>
include file.
Sysctl tunables that control process debuggability (as determined by
p_candebug9)
also affect the operation of
ktrace (.);
A thread may be unable to log one or more tracing events due to a temporary shortage of resources. This condition is remembered by the kernel, and the next tracing request that succeeds will have the flag KTR_DROP set in its ktr_type field.
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |