BCCの`trace`を使って不安定なテストをデバッグする

2025-04-13

オープンソースプロジェクトのパッチ作成中に、断続的に失敗するテストに遭遇しました。BCCツールの`trace`ユーティリティを使用して、カーネル関数`touch_atime`の呼び出しを監視しました。これにより、著者のテキストエディターのバックグラウンドスレッドがプロジェクトファイルをスキャンし、ファイルのアクセス時間を変更していることが明らかになり、これによってテストが不安定に失敗していました。このケースは、LinuxカーネルのデバッグにおけるBCCツールの威力と、システムを深く理解することの価値を強調しています。