Tweet 今回は、プログラムが期待通りに動作しない場合に、特定のプロセスの挙動を追いかけるための手順について紹介します。 プロセスの挙動を追いかける方法にはいろいろあります。例えば、スクリプト言語で記述されたプログラムの挙動を追いかける場合、デバッグのための print 命令を挿入することもあるでしょう。でも、プログラムの種類によらずに挙動を追いかける場合、原則としてカーネルが提供する機能を使います。例えば strace コマンドを用いてシステムコールの呼び出し履歴を取得したり、 ltrace コマンドを用いてライブラリ関数の呼び出し履歴を取得したりします。また、対象となるプロセスが不明な場合には全プロセスを対象にするために System Call Auditing を使って履歴を取得したり、 SystemTap を使って任意の箇所で履歴を取得したりすることもあります。 今回は stra