1

別の一連の DLL を動的にロードする一連の EXE があり、それらのほとんどは COM オブジェクトを公開しています。

現在、EXE の 1 つを使用して、これらの DLL の 1 つをデバッグしようとしています。

すべてのプロジェクトは、最新の FastMM4 (4.991) と ShareMM などを使用して、fulldebug モードでコンパイルされます。

いくつかの奇妙なオブジェクトの作成/割り当て/破棄の動作を持つルーチンがあるため、それらをログに記録して、それによって作成されたのではなく、それによって破棄されたオブジェクトをキャッチすることを考えていました。

SetMMLogFileName('before') と LogAllocatedBlocksToFile(0, 0); を使用します。ルーチンが作業を開始する前に、存在するもののスナップショットを取得します。

次に PushALlocationGroup(1) を実行し、ルーチンが終了したら、上記と同様の呼び出しを行います。

問題は、何も記録されないことです。ルーチンは DLL で実行され、メインの MM は EXE によって初期化されるため、そのようなことは理にかなっています (これはデバッグで既に確認されています)。

したがって、基本的には、FastMM の共有認識でログ割り当てブロック ルーチンを作成する必要があります。コードを調べましたが、それを行う方法がわかりません。

誰かがすでにこれを行っているか、私を始めるための指針がありますか?

ありがとう。

4

0 に答える 0