strace
コマンドは、プログラムが実行中に行うシステムコールや信号を追跡するためのツールです。デバッグやトラブルシューティングに役立ち、プログラムの挙動を詳細に分析することができます。
基本的な構文は以下の通りです。
strace [options] [arguments]
-e trace=<set>
: 特定のシステムコールを追跡します。-o <file>
: 出力を指定したファイルに保存します。-p <pid>
: 指定したプロセスIDのプロセスを追跡します。-c
: 各システムコールの統計情報を表示します。以下に、strace
コマンドの実用的な例をいくつか示します。
strace ls
このコマンドは、ls
コマンドが実行するシステムコールを表示します。
strace -o output.txt ls
ls
コマンドのシステムコールの出力を output.txt
というファイルに保存します。
strace -e trace=open,close ls
このコマンドは、ls
コマンドが open
と close
のシステムコールを使用する様子を追跡します。
strace -p 1234
プロセスIDが 1234
のプロセスのシステムコールを追跡します。
strace -c ls
ls
コマンドの実行後に、各システムコールの統計情報を表示します。
strace
の出力は非常に詳細であるため、必要な情報を見つけるために grep
コマンドを併用すると便利です。-e trace=all
オプションを使用してすべてのシステムコールを追跡することができます。