我有一个想法是在夜间自动构建中启用FastMMs memleakreporting。消息框当然应该被禁用。最简单的可能是,如果存在内存泄漏,则应用程序退出代码>0。我做了一个快速测试,退出代码为0,带有memleak和FastMM。
所以我的问题是,我如何检测FastMM中是否有内存泄漏来设置退出代码?
发布于 2010-01-13 16:44:31
在我之前的Delphi项目中,我使用了MemCheck。它创建了文本日志文件,其中包含它检测到的所有泄漏。我喜欢这种报告方式,我看到FastMM有创建这样的文件的选项:在FastMM4Options.inc中有LogErrorsToFile。这样,您需要检查日志文件,而不是检查退出代码。
发布于 2012-04-04 14:13:07
我为我当前的客户修改了"procedure CheckBlocksOnShutdown(ACheckForLeakedBlocks: Boolean);“来设置退出代码,这样如果产生的进程有内存泄漏,我就可以很容易地检查DUnit。我在过程的末尾添加了一行:
...
{$ifdef UseOutputDebugString}
OutputDebugStringA(LLeakMessage);
{$endif}
ExitCode := 1; <-- added this one
if Assigned(OnMessage) then
OnMessage(LLeakMessage);
...https://stackoverflow.com/questions/2055354
复制相似问题