起動時に大量のデータをロードするプログラムがあります。これにはかなり長い時間がかかるため、Valgrind( memcheck) / DrMemoryの実行時にオーバーヘッドが発生します。そのため、異なる引数でプログラムを数回呼び出すと、かなりの時間がかかります
私の考えはfork()、データ読み込みフェーズの直後に使用して、子を Valgrind/DrMemory に渡すことです。読み込みフェーズが Valgrind/DrMemory の下で実行される場合でも、オーバーヘッドは 1 回だけ発生し、すべてのforked 子プロセスはそこからプリロードされたデータを使用できるはずです。
プログラムの状態を記録して汚染されていないと宣言し、後で Valgrind ( memcheck) または DrMemory でその状態を復元することは可能ですか?
注:私は unixoid プラットフォームにのみ関心があります。Linux だけに限定しても問題ありません。