3D をレンダリングするためにサードパーティ ライブラリを使用しています。このライブラリには、実行中にライブラリが割り当てて解放したすべてのメモリを追跡する「メモリ トラッカー」機能があります。これは、メモリ リークなどを特定するのに役立つため、優れた機能です。
このライブラリで特定の関数を呼び出すと、プロセスの現在の作業ディレクトリにログ ファイルが生成されます。最近、このファイルがいくつかの異なる場所に表示されることに気付いたので、最初に考えたのはもちろん、現在の作業ディレクトリを常にログを表示するフォルダーに設定することでした。これは正常に機能します。
ただし、このファイルは、上記の関数がプログラムによって呼び出されることなく、さまざまな場所にまだ作成されていることがわかります。したがって、ファイルは私の同意なしにライブラリによって何らかの形で作成されなければなりません。このライブラリの作成者は、エンジンがこのメソッドを内部的に呼び出すことは決してないと述べています。
したがって、彼が間違っていることを証明するために (または、自分が愚かであることを証明することもできます (初めてではありません))、このファイルがいつ作成されたかを正確に把握する方法が必要です。FindFirstChangeNotification()は機能しません。これは、あるフォルダーで何かが起こったという情報しか提供しないためです。理想的には、これが発生したときに (プロセス内またはプロセス外のいずれかで) インターセプトし、何らかの方法でプロセス例外を挿入したい (たとえば、WinDbg にこれをキャッチさせる) ため、コールスタックを介して必要な情報を取得します。
どんな提案でも大歓迎です。
乾杯!