Go to main content

マニュアルページ セクション 1: ユーザーコマンド

印刷ビューの終了

更新: 2018年8月8日
 
 

whocalls(1)

名前

whocalls - 特定のプロシージャの呼び出しに関する報告

形式

whocalls [-l wholib] [-s] funcname executable 
          [arguments]...

説明

whocalls は、特定の関数呼び出しの追跡を許可する ld.so.1(1)Link-Auditing 機能に基づいたユーティリティーの簡単な例です。監査に関する詳細は、Runtime Linker Auditing Interface in Oracle Solaris 11.4 Linkers and Libraries Guideを参照してください。

executable は、関連する引数を使用して通常どおりに実行されます。プロシージャ funcname が呼び出されるたびに、そのプロシージャへの引数とスタックトレースの両方が標準出力に表示されます。

オプション

サポートしているオプションは、次のとおりです。

–l wholib

使用する代替の who.so Link-Auditing ライブラリを指定します。

–s

使用可能な場合、ローカルシンボル用の .symtab シンボルテーブルを検証して使用します。これは、.dynsym シンボルテーブルを使用するよりも少し負荷がかかりますが、より詳細なスタックトレース情報を生成できます。

使用例 1 関数呼び出しの追跡

次の例では、単純な helloworld プログラムで作成された printf() の呼び出しを追跡します。

example% whocalls printf helloworld
printf(0x106e4, 0xef625310, 0xef621ba8)
        helloworld:main+0x10
        helloworld:_start+0x5c
Hello World

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

属性タイプ
属性値
使用条件
developer/base-developer-utilities

関連項目

ld.so.1(1), sotruss(1), attributes(7)

OracleSolaris 11.4 リンカーとライブラリガイド