9.2.2. 選択したシステム呼び出しの追跡
選択したシステムコールのセットのみを追跡するには、strace
コマンドラインオプションを指定して -e
ユーティリティーを実行します。
$ scl enable devtoolset-10 'strace -e expression program argument...'
expression を、トレースするシステムコールのコンマ区切りリスト、または 表9.1「-e オプションで一般的に使用される値」 にリストされているにキーワードに置き換えます。使用できるすべての値の説明は、strace(1) の man ページを参照してください。
値 | 説明 |
---|---|
| ファイル名を引数として受け入れるシステムコール。 |
| プロセス管理に関連するシステムコール。 |
| ネットワークに関連するシステムコール。 |
| シグナル管理に関連するシステムコール。 |
| IPC (inter-process communication) に関連するシステムコール。 |
| ファイル記述子に関連するシステムコール。 |
構文 -e 式
は、完全な形式の -e trace=式
です。
例9.2 選択したシステム呼び出しの追跡
例11.1「memstomp の使用」 の employee
ファイルを考慮します。この実行可能ファイルで strace
ユーティリティーを実行し、mmap
および munmap
システムコールのみをトレースします。
$ scl enable devtoolset-10 'strace -e mmap,munmap ./employee'
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f896c744000
mmap(NULL, 61239, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f896c735000
mmap(0x3146a00000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3146a00000
mmap(0x3146d89000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3146d89000
mmap(0x3146d8e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3146d8e000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f896c734000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f896c733000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f896c732000
munmap(0x7f896c735000, 61239) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f896c743000
John,john@example.comDoe,
+++ exited with 0 +++