我有一堆动态加载另一堆 DLL 的 EXE,其中大部分都暴露了 COM 对象。
现在我正在尝试使用其中一个 EXE 来调试其中一个 DLL。
所有项目都使用最新的 FastMM4 (4.991) 和 ShareMM 等在完全调试模式下编译。
有一个例程具有一些奇怪的对象创建/分配/破坏行为,所以我想记录那些以捕获由它破坏的对象,这些对象不是由它创建的。
我使用 SetMMLogFileName('before') 和 LogAllocatedBlocksToFile(0, 0); 在例程开始工作之前对存在的任何内容进行快照。
然后执行 PushALlocationGroup(1) 并在例程完成后执行与上述类似的调用。
问题是,没有任何记录。这是有道理的,因为例程在 DLL 中执行,主 MM 由 EXE 初始化(已经在调试中确认了这一点)。
所以基本上我需要让 FastMM 中的日志分配块例程共享感知。我查看了代码,但我似乎无法弄清楚如何做到这一点。
有人已经这样做了,或者有一些建议让我开始吗?
谢谢。