インテル® VTune™ Amplifier 2018 ヘルプ
スタティック・リンクされたバイナリーファイルをプロファイルするには、コンパイル時のバイナリーのストリップを一時的に停止し、バイナリーファイルが次のシステム・ライブラリーをエクスポートすることを確実にします。
_init() (main を含む実行形式で): プロセスツリーをプロファイルする場合、strategy オプションの使用を検討してください。
libc.so:
ターゲットは、setenv、getenv() および __errno_location() シンボルを無条件でエクスポートします。
ターゲットが recv() API を使用する場合、recv() と poll() をエクスポートします。
ターゲットが sleep() または usleep() API を使用する場合、sleep() または usleep()、そして nanosleep() シンボルをエクスポートします。
libpthread.so:
ターゲットが pthread_create() API を使用する場合、次のシンボルをエクスポートします。
pthread_create()
pthread_key_create()
pthread_setspecific()
pthread_getspecific()
pthread_self()
pthread_getattr_np()
pthread_attr_destroy()
pthread_attr_setstack()
pthread_attr_getstack()
pthread_attr_getstacksize()
pthread_attr_setstacksize()
ターゲットが pthread_cancel() API を使用する場合、次のシンボルをエクスポートします。
pthread_cancel()
_pthread_cleanup_push()
_pthread_cleanup_pop()
ターゲットが _pthread_cleanup_push() または _pthread_cleanup_pop() API を使用する場合、次のシンボルをエクスポートします。
_pthread_cleanup_push()
_pthread_cleanup_pop()
ターゲットが pthread_mutex_lock() API を使用する場合、pthread_mutex_lock() と pthread_mutex_trylock() シンボルをエクスポートします。
ターゲットが pthread_spin_lock API を使用する場合、pthread_spin_lock() と pthread_spin_trylock() のシンボルをエクスポートします。
libdl.so:
ターゲットが dlopen()、dlsym()、または dlclose API のいずれかを使用する場合、それら 3 つを同時にエクスポートします。
バイナリーファイルが、上記のシンボルをエクスポートしない場合、-u リンカーオプションを使用して (例えば、コンパイラーでリンクする場合 -Wl,-u__errno_location を指定)、コンパイルのリンクステージでバイナリーファイルにシンボルを含めます。