「truss」の版間の差分

提供: FreeBSD入門
移動: 案内検索
(ページの作成:「<!-- vim: fileencoding=utf-8 filetype=mediawiki --> [[{{PAGENAME}}]] とは、システムコールをトレースします。 '''読み方''' ;[[{{PAGENAME}}]]:...」)
(相違点なし)

2013年6月5日 (水) 21:04時点における版


truss とは、システムコールをトレースします。

読み方

truss
とらす

概要

truss とは、システムコールをトレースします。

truss ユーテリティは、指定されたプロセス、もしくは、プログラムのシステムコールの呼び出しをトレースします。 出力は、指定された出力ファイルか、デフォルトでは、標準エラーに出力されます。ptrace を通して、モニタリングされます。

インストール

コマンドラインオプション

usage: truss [-cfaedDS] [-o file] [-s strsize] -p pid
       truss [-cfaedDS] [-o file] [-s strsize] command [args]

使い方

echo hello を実行して、システムコールの呼び出しをトレースします。

% truss /bin/echo hello

呼び出し回数や呼び出し時間のサマリを表示します。

% truss -S -c /bin/echo hello
hello
syscall                     seconds   calls  errors
readlink                0.000009778       1       1
lseek                   0.000007333       1       0
mmap                    0.000073822       8       0
open                    0.000035689       3       1
close                   0.000016134       2       0
fstat                   0.000012222       1       0
break                   0.000008311       1       0
access                  0.000010267       1       0
sigprocmask             0.000074800       8       0
munmap                  0.000008800       1       0
read                    0.000036666       2       0
                      ------------- ------- -------
                        0.000293822      29       2

出力を /tmp/truss.out にします。

truss -o /tmp/truss.out /bin/echo hello

すでに実行されているプロセス(プロセスID 123) をトレースします。

truss -p 123

関連項目