Submitted by: Akira Ikeuchi <a_ikeuchi@mic.mitsumi.co.jp> Reviewed by: kano@na.rim.or.jp Koichi Suzuki <metal@gc5.so-net.ne.jp>
194 lines
6.2 KiB
Groff
194 lines
6.2 KiB
Groff
.\" Copyright (c) 1993
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by the University of
|
|
.\" California, Berkeley and its contributors.
|
|
.\" 4. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)ktrace.2 8.1 (Berkeley) 6/4/93
|
|
.\" %FreeBSD: src/lib/libc/sys/ktrace.2,v 1.24 2003/12/14 14:54:53 jkoshy Exp %
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd June 4, 1993
|
|
.Dt KTRACE 2
|
|
.Os
|
|
.Sh ̾¾Î
|
|
.Nm ktrace
|
|
.Nd ¥×¥í¥»¥¹¤Î¥È¥ì¡¼¥¹
|
|
.Sh ¥é¥¤¥Ö¥é¥ê
|
|
.Lb libc
|
|
.Sh ½ñ¼°
|
|
.In sys/param.h
|
|
.In sys/time.h
|
|
.In sys/uio.h
|
|
.In sys/ktrace.h
|
|
.Ft int
|
|
.Fn ktrace "const char *tracefile" "int ops" "int trpoints" "int pid"
|
|
.Sh ²òÀâ
|
|
.Fn ktrace
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¥×¥í¥»¥¹¤Î¥È¥ì¡¼¥¹¤ò͸ú¤Þ¤¿¤Ï̵¸ú¤Ë¤·¤Þ¤¹¡£
|
|
¥æ¡¼¥¶¤Ï¼«Ê¬¤Î¥×¥í¥»¥¹¤À¤±¤ò¥È¥ì¡¼¥¹¤Ç¤¤Þ¤¹¡£
|
|
¥¹¡¼¥Ñ¥æ¡¼¥¶¤À¤±¤¬¡¢setuid ¥×¥í¥°¥é¥à¤Þ¤¿¤Ï
|
|
setgid ¥×¥í¥°¥é¥à¤ò¥È¥ì¡¼¥¹¤Ç¤¤Þ¤¹¡£
|
|
.Pp
|
|
.Fa tracefile
|
|
°ú¿ô¤Ï¡¢¥È¥ì¡¼¥¹¤Ë»ÈÍѤ¹¤ë¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹Ì¾¤ò»ØÄꤷ¤Þ¤¹¡£
|
|
¥Õ¥¡¥¤¥ë¤Ï¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢
|
|
¸Æ¤Ó½Ð¤·Â¦¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ½ñ¹þ¤ß²Äǽ¤ÊÄ̾ï¥Õ¥¡¥¤¥ë¤Ç¤¢¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
|
|
¥È¥ì¡¼¥¹¥ì¥³¡¼¥É¤Ï¤¹¤Ù¤Æ¥Õ¥¡¥¤¥ë¤ÎËöÈø¤ËÄɲ䵤ì¤ë¤Î¤Ç¡¢
|
|
ľÁ°¤Î¥È¥ì¡¼¥¹¥Ç¡¼¥¿¤òÀÚ¤ê¼Î¤Æ¤ë¤¿¤á¤Ë¤Ï¥Õ¥¡¥¤¥ë¤ÎŤµ¤ò 0 ¤Ë¤¹¤ëɬÍפ¬
|
|
¤¢¤ê¤Þ¤¹¡£
|
|
¥È¥ì¡¼¥¹ÅÀ¤¬Ìµ¸ú¤Ê¾ì¹ç (¸å½Ò¤Î KTROP_CLEAR ¤ò»²¾È)¡¢
|
|
.Fa tracefile
|
|
¤Ï NULL ¤Ë¤Ç¤¤Þ¤¹¡£
|
|
.Pp
|
|
.Fa ops
|
|
°ú¿ô¤ÏÍ׵ᤵ¤ì¤¿ ktrace Áàºî¤ò»ØÄꤷ¤Þ¤¹¡£
|
|
ÄêµÁ¤µ¤ì¤Æ¤¤¤ëÁàºî¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹:
|
|
.Bl -column KTRFLAG_DESCENDXXX -offset indent
|
|
.It "KTROP_SET "
|
|
.Fa trpoints
|
|
¤Ç»ØÄꤵ¤ì¤¿¥È¥ì¡¼¥¹ÅÀ¤ò͸ú¤Ë¤·¤Þ¤¹¡£
|
|
.It "KTROP_CLEAR "
|
|
.Fa trpoints
|
|
¤Ç»ØÄꤵ¤ì¤¿¥È¥ì¡¼¥¹ÅÀ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£
|
|
.It "KTROP_CLEARFILE ¤¹¤Ù¤Æ¤Î¥È¥ì¡¼¥¹¤òÄä»ß¤·¤Þ¤¹¡£"
|
|
.It "KTRFLAG_DESCEND ¥È¥ì¡¼¥¹¤ÎÊѹ¹¤¬¡¢»ØÄê¤Î¥×¥í¥»¥¹¤È¤½¤Î¸½ºß¤Î"
|
|
¤¹¤Ù¤Æ¤Î»Ò¥×¥í¥»¥¹¤ËŬÍѤµ¤ì¤Þ¤¹¡£
|
|
.El
|
|
.Pp
|
|
.Fa trpoints
|
|
°ú¿ô¤Ï´Ø¿´¤Î¤¢¤ë¥È¥ì¡¼¥¹ÅÀ¤ò»ØÄꤷ¤Þ¤¹¡£
|
|
ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥È¥ì¡¼¥¹ÅÀ¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹:
|
|
.Bl -column KTRFAC_SYSCALLXXX -offset indent
|
|
.It "KTRFAC_SYSCALL ¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò¥È¥ì¡¼¥¹¤·¤Þ¤¹¡£"
|
|
.It "KTRFAC_SYSRET ¥·¥¹¥Æ¥à¥³¡¼¥ë¤«¤é¤ÎÌá¤êÃͤò¥È¥ì¡¼¥¹¤·¤Þ¤¹¡£"
|
|
.It "KTRFAC_NAMEI ¥Ñ¥¹Ì¾¤Îõº÷Áàºî¤ò¥È¥ì¡¼¥¹¤·¤Þ¤¹¡£"
|
|
.It "KTRFAC_GENIO ¤¹¤Ù¤Æ¤ÎÆþ½ÐÎϤò¥È¥ì¡¼¥¹¤·¤Þ¤¹"
|
|
(¤³¤Î¥ª¥×¥·¥ç¥ó¤¬ÂçÎ̤νÐÎϤòÀ¸À®¤¹¤ë²ÄǽÀ¤¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤)¡£
|
|
.It "KTRFAC_PSIG ¥Ý¥¹¥È¤µ¤ì¤¿¥·¥°¥Ê¥ë¤ò¥È¥ì¡¼¥¹¤·¤Þ¤¹¡£"
|
|
.It "KTRFAC_CSW ¥³¥ó¥Æ¥¥¹¥È¥¹¥¤¥Ã¥Á¤ò¥È¥ì¡¼¥¹¤·¤Þ¤¹¡£"
|
|
.It "KTRFAC_INHERIT ¤³¤ì°Ê¹ß¤Î»Ò¤Ë¥È¥ì¡¼¥¹¤ò·Ñ¾µ¤·¤Þ¤¹¡£"
|
|
.El
|
|
.Pp
|
|
³Æ¥È¥ì¡¼¥¹¥¤¥Ù¥ó¥È¤Ï¡¢ÈÆÍѤΥإåÀ¤Î¸å¤Ë
|
|
¥È¥ì¡¼¥¹ÅÀ¤Ë¸Çͤι½À®Í×ÁǤ¬Â³¤¯·Á¼°¤Î¥ì¥³¡¼¥É¤ò½ÐÎϤ·¤Þ¤¹¡£
|
|
ÈÆÍѤΥإåÀ¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹:
|
|
.Bd -literal
|
|
struct ktr_header {
|
|
int ktr_len; /* ¥Ð¥Ã¥Õ¥¡¤ÎŤµ */
|
|
short ktr_type; /* ¥È¥ì¡¼¥¹¥ì¥³¡¼¥É¤Î¥¿¥¤¥× */
|
|
pid_t ktr_pid; /* ¥×¥í¥»¥¹ ID */
|
|
char ktr_comm[MAXCOMLEN+1]; /* ¥³¥Þ¥ó¥É̾ */
|
|
struct timeval ktr_time; /* ¥¿¥¤¥à¥¹¥¿¥ó¥× */
|
|
caddr_t ktr_buf;
|
|
};
|
|
.Ed
|
|
.Pp
|
|
.Va ktr_len
|
|
¥Õ¥£¡¼¥ë¥É¤Ï¤³¤Î¥Ø¥Ã¥À¤Ë³¤¯
|
|
.Va ktr_type
|
|
¥Ç¡¼¥¿¤ÎŤµ¤ò¼¨¤·¤Þ¤¹¡£
|
|
.Va ktr_pid
|
|
¥Õ¥£¡¼¥ë¥É¤È
|
|
.Va ktr_comm
|
|
¥Õ¥£¡¼¥ë¥É¤Ï¡¢¥ì¥³¡¼¥É¤òÀ¸À®¤·¤¿¥×¥í¥»¥¹¤È¥³¥Þ¥ó¥É¤ò¼¨¤·¤Þ¤¹¡£
|
|
.Va ktr_time
|
|
¥Õ¥£¡¼¥ë¥É¤Ï¡¢
|
|
¥ì¥³¡¼¥É¤¬À¸À®¤µ¤ì¤¿»þ¹ï¤ò (¥Þ¥¤¥¯¥íÉÃñ°Ì¤Ç) ¼¨¤·¤Þ¤¹¡£
|
|
.Va ktr_buf
|
|
¤Ï¡¢ÆâÉô¥«¡¼¥Í¥ë¥Ý¥¤¥ó¥¿¤Ç¤¢¤Ã¤ÆÍÍѤǤϤ¢¤ê¤Þ¤»¤ó¡£
|
|
.Pp
|
|
ÈÆÍѥإåÀ¤Ë¤Ï
|
|
.Va ktr_len
|
|
¥Ð¥¤¥È¤ÎŤµ¤Î
|
|
.Va ktr_type
|
|
¥ì¥³¡¼¥É¤¬Â³¤¤Þ¤¹¡£
|
|
¥¿¥¤¥×¤Ë¸ÇͤΥ쥳¡¼¥É¤Ï
|
|
.In sys/ktrace.h
|
|
¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ëÆâ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
.Sh SYSCTL ¥Á¥å¡¼¥Ê¥Ö¥ë
|
|
¼¡¤Î
|
|
.Xr sysctl 8
|
|
¥Á¥å¡¼¥Ê¥Ö¥ë¤¬
|
|
.Fn ktrace
|
|
¤Îưºî¤Ë±Æ¶Á¤·¤Þ¤¹:
|
|
.Bl -tag -width indent
|
|
.It Va kern.ktrace.geniosize
|
|
¥È¥ì¡¼¥¹¤µ¤ì¤¿ I/O Í׵᤬¥È¥ì¡¼¥¹¥Õ¥¡¥¤¥ë¤ËµÏ¿¤¹¤ë¥Ç¡¼¥¿Î̤òÀ©¸Â¤·¤Þ¤¹¡£
|
|
.It Va kern.ktrace.request_pool
|
|
°ìÅ٤˵Ͽ¤¹¤ë¥È¥ì¡¼¥¹¥¤¥Ù¥ó¥È¿ô¤òÀ©¸Â¤·¤Þ¤¹¡£
|
|
.El
|
|
.Pp
|
|
¥×¥í¥»¥¹¤ò¥Ç¥Ð¥Ã¥°¤Ç¤¤ë¤«¤òÀ©¸æ¤¹¤ë sysctl ¥Á¥å¡¼¥Ê¥Ö¥ë
|
|
.Xr ( p_candebug 9
|
|
¤Ë¤è¤Ã¤Æ·è¤á¤é¤ì¤Æ¤¤¤ë) ¤â¤Þ¤¿
|
|
.Fn ktrace
|
|
¤ÎÁàºî¤Ë±Æ¶Á¤·¤Þ¤¹¡£
|
|
.Sh Ìá¤êÃÍ
|
|
.Rv -std ktrace
|
|
.Sh ¥¨¥é¡¼
|
|
.Fn ktrace
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¼¡¤Î¾ì¹ç¤Ë¼ºÇÔ¤·¤Þ¤¹:
|
|
.Bl -tag -width Er
|
|
.It Bq Er ENOTDIR
|
|
¥Ñ¥¹¤Î¹½À®Í×ÁÇÃæ¤Ë¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤Î¤â¤Î¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er ENAMETOOLONG
|
|
¥Ñ¥¹Ì¾¤Î¹½À®Í×ÁǤ¬ 255 ʸ»ú¤ò±Û¤¨¤Æ¤¤¤ë¤«¡¢
|
|
¤Þ¤¿¤Ï¥Ñ¥¹Ì¾Á´ÂΤ¬ 1023 ʸ»ú¤ò±Û¤¨¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er ENOENT
|
|
»ØÄê¤Î¥È¥ì¡¼¥¹¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Þ¤»¤ó¡£
|
|
.It Bq Er EACCES
|
|
Á°Ã֥ѥ¹Ì¾¤Î¹½À®Í×ÁǤˤĤ¤¤Æ¸¡º÷µö²Ä¤¬µñÈݤµ¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er ELOOP
|
|
¥Ñ¥¹Ì¾¤òÊÑ´¹¤¹¤ë¤È¤¤Ë¸¡½Ð¤µ¤ì¤¿¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬Â¿¤¹¤®¤Þ¤¹¡£
|
|
.It Bq Er EIO
|
|
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÆÉ¤ß½ñ¤¤·¤Æ¤¤¤ë´Ö¤ËÆþ½ÐÎÏ¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£
|
|
.It Bq Er ENOSYS
|
|
¥«¡¼¥Í¥ë¤¬
|
|
.Nm
|
|
¥µ¥Ý¡¼¥È¤È¤È¤â¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
|
|
.El
|
|
.Pp
|
|
°ì»þŪ¤Ê»ñ¸»ÉÔ¤Τ¿¤á¤Ë¡¢
|
|
¥¹¥ì¥Ã¥É¤¬ 1 ¸Ä°Ê¾å¤Î¥È¥ì¡¼¥¹¥¤¥Ù¥ó¥È¤òµÏ¿¤Ç¤¤Ê¤¤¤³¤È¤¬¤¢¤êÆÀ¤Þ¤¹¡£
|
|
¤³¤Î¾õÂ֤ϥ«¡¼¥Í¥ë¤Ë¤è¤Ã¤Æµ²±¤µ¤ì¡¢¼¡¤ËÀ®¸ù¤¹¤ë¥È¥ì¡¼¥¹Í×µá¤Ë¤ª¤¤¤Æ
|
|
.Va ktr_type
|
|
¥Õ¥£¡¼¥ë¥É¤Î
|
|
.Li KTR_DROP
|
|
¥Õ¥é¥°¤¬¥»¥Ã¥È¤µ¤ì¤Þ¤¹¡£
|
|
.Sh ´ØÏ¢¹àÌÜ
|
|
.Xr kdump 1 ,
|
|
.Xr ktrace 1 ,
|
|
.Xr utrace 2 ,
|
|
.Xr sysctl 8 ,
|
|
.Xr p_candebug 9
|
|
.Sh Îò»Ë
|
|
.Fn ktrace
|
|
¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï
|
|
.Bx 4.4
|
|
¤Ç¤Ï¤¸¤á¤ÆÅо줷¤Þ¤·¤¿¡£
|