GNU/Linux >> Linux の 問題 >  >> Linux

Linux でファイルごとの IO 操作をトレースするには?

ファイルが開かれるのを待って、プロセスの起動後に fd を学習し、次のように strace を添付できます。

<ブロック引用>

strace -p pid -e trace=file -e read=fd


まず、 fd 間のマッピングのため、おそらく追跡する必要はありません そして path /proc/PID/fd/ で利用可能です .

次に、C open で LD_PRELOAD トリックとオーバーロードを使用する必要があるかもしれません。 、 seek および read システムコール。 malloc/free をオーバーロードする方法に関する記事があちこちにあります。

これらのシステム コールに同じ種類のトリックを適用しても、さほど変わらないと思います。 C で実装する必要がありますが、strace を解析するよりもはるかに少ないコードで済み、より正確になるはずです。 出力。


Linux
  1. LinuxにPythonをインストールする方法

  2. LinuxにJavaをインストールする方法

  3. Linux – Javaプログラムをトレースする方法は?

  1. LinuxでBusyBoxを使用する方法

  2. Linuxでcronを使用する方法

  3. Linuxでディスクをパーティション分割する方法

  1. Linuxを3つのステップでインストールする方法

  2. LinuxでSuコマンドを使用する方法

  3. Linux で strace および ltrace コマンドを使用する方法