ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
マニュアルページセクション 1: ユーザーコマンド Oracle Solaris 11 Information Library (日本語) |
- 共有ライブラリプロシージャ呼び出しの追跡
/usr/bin/sotruss [-f] [-F bindfromlist] [-T bindtolist] [-o outputfile] executable [executable arguments...]
sotruss は、指定されたコマンドを実行し、実行したライブラリ呼び出しのトレースを生成します。トレース出力の各行では、各プロシージャ呼び出しが実行されたときに動的オブジェクト間で発生する結合が報告されます。sotruss は、プロシージャリンケージテーブルを介して動的オブジェクト間で発生するすべてのプロシージャ呼び出しを追跡します。そのため、そのプロシージャリンケージテーブルを介して結合されているプロシージャ呼び出しだけが追跡されます。『『リンカーとライブラリ』』を参照してください。
追跡するライブラリのコロンで区切られたリスト。これらのライブラリからの呼び出しだけが追跡されます。デフォルトでは、メインの実行可能オブジェクトからの呼び出しだけが追跡されます。
追跡するライブラリのコロンで区切られたリスト。これらのライブラリへの呼び出しだけが追跡されます。デフォルトでは、すべての呼び出しが追跡されます。
sotruss の出力を outputfile に送ります。このオプションを -f オプションと組み合わせると、実行しているプログラムの pid がファイル名の後ろに付けられます。デフォルトでは、sotruss の出力は stderr に書き込まれます。
fork() によって作成されたすべての子プロセスを追跡し、各子プロセスの truss 出力を書き込みます。このオプションを指定すると、各 truss の出力行に pid が出力されます。
例 1 sotruss の例。
次の簡単な例では、単純な ls コマンドの追跡を示します。
% sotruss ls | more ls -> libc.so.1:*atexit(0xef7d7d1c, 0x23c00, 0x0) ls -> libc.so.1:*atexit(0x1392c, 0xef7d7d1c, 0xef621bb0) ls -> libc.so.1:*setlocale(0x6, 0x1396c, 0xef621ba8) ls -> libc.so.1:*textdomain(0x13970, 0x1396c, 0xef621ba8) ls -> libc.so.1:*time(0x0, 0xef61f6fc, 0xef621ba8) ls -> libc.so.1:*isatty(0x1, 0xef61f6fc, 0x0) ls -> libc.so.1:*getopt(0x1, 0xeffff8fc, 0x13980) ls -> libc.so.1:*malloc(0x100, 0x0, 0x0) ls -> libc.so.1:*malloc(0x9000, 0x0, 0x0) ls -> libc.so.1:*lstat64(0x23ee8, 0xeffff7a0, 0x0) ... ls -> libc.so.1:*printf(0x13a64, 0x26208, 0x23ef0) ls -> libc.so.1:*printf(0x13a64, 0x26448, 0x23ef0) ls -> libc.so.1:*exit(0x0, 0x24220, 0x2421c)
属性についての詳細は、attributes(5) を参照してください。
|