EN JA
P_CANDEBUG(9)
P_CANDEBUG(9) FreeBSD Kernel Developer's Manual P_CANDEBUG(9)

名称

p_candebugプロセスのデバッグ可能性を決定する

書式

#include < sys/param.h>
#include < sys/proc.h>

int
p_candebug( struct thread *td, struct proc *p);

解説

この関数は、与えられたプロセス p がスレッド td でデバッグ可能かどうか決定するために使用することができます。

SYSCTL 変数

次の sysctl(8) 変数は直接 p_candebug() の振る舞いに影響を及ぼします:
kern.securelevel
init プロセスのデバッグはこの変数が 1 以上であるなら許されません。
security.bsd.unprivileged_proc_debug
カーネルのデバッグ機能にアクセスための非特権プロセスを許可するために 0 以外の値に設定されなければなりません。

戻り値

p_candebug() 関数は p によって指示されるプロセスがスレッド td によってデバッグ可能であるなら、 0 を返し、そうでなければ、0 でないエラーのリターン値を返します。

エラー

[ EACCESS]
MAC サブシステムはデバッグ可能性を拒否しました。
[ EAGAIN]
プロセス pexec() されたプロセスです。
[ EPERM]
スレッド td はスーパユーザ資格証明が不足しています、そして、プロセス p はセットユーザ ID (set-user-ID) またはセットグループ ID (set-group-ID) 実行可能で実行中です。
[ EPERM]
スレッド td はスーパユーザ資格証明が不足しています、そして、プロセス p のグループセットが td の実効グループセットの部分集合ではありません。
[ EPERM]
スレッド td はスーパユーザ資格証明が不足しています、そして、プロセス p のユーザ ID はスレッド td の実効ユーザ ID に適合しません。
[ EPERM]
プロセス p は、初期のプロセス initproc() を指示し、 sysctl(8) 変数 kern.securelevel は、0 以上です。
[ ESRCH]
プロセス p は、 cr_seeotheruids(9) または cr_seeothergids(9) によって決定されるようにスレッド td に見えません。
[ ESRCH]
スレッド td は刑務所 (jail) にいれられ、プロセス ptd と同じ刑務所 (jail) に属しません。
[ ESRCH]
MAC サブシステムはデバッグ可能性を拒否しました。
November 19, 2006 FreeBSD