gpt4 book ai didi

delphi - FastMM/DXE2 仅在使用调试器时报告?

转载 作者:行者123 更新时间:2023-12-03 15:39:59 24 4
gpt4 key购买 nike

我正在尝试使用 FastMM 版本 4.99(根据 FastMM4.pas 顶部的注释)。我有followed the instructions使用带有堆栈跟踪的完整 Debug模式,并且当我在 IDE 调试器下运行 .exe 时发现泄漏。 例如

FastMM Leak Report Dialog

但是当我尝试从命令提示符运行可执行文件或在 Windows 资源管理器中双击时,我没有收到任何泄漏报告。 UnicodeString 泄漏可能是假的,但我确信 TIniFile 泄漏是真实的。不使用调试器时如何使 FastMM 报告/日志泄漏?

更新:该项目还使用 madExcept 3.0n:.dpr 文件确实将 FastMM4 作为其 use 子句中的第一项。还需要什么才能使这两者共存吗?

最佳答案

您尚未正确配置FastMM4Options.inc。从 4.97 版本发布的文件来看,它位于第 405 行左右:

{Set this option to require the presence of the Delphi IDE to report memory
leaks. This option has no effect if the option "EnableMemoryLeakReporting"
is not also set.}
{.$define RequireIDEPresenceForLeakReporting}

确保 . 位于最后一行($define 之前)并重建您的项目。

@wades 发现在我提到的那个设置的正下方还有另一个设置,RequireDebuggerPresenceForLeakReporting,它默认处于打开状态。通过在左大括号后添加句点来禁用它:

{Set this option to require the program to be run inside the IDE debugger to
report memory leaks. This option has no effect if the option
"EnableMemoryLeakReporting" is not also set.}
{$define RequireDebuggerPresenceForLeakReporting}

(根据@wades的请求添加到此答案。)

关于delphi - FastMM/DXE2 仅在使用调试器时报告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11440959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com