gpt4 book ai didi

Delphi 7、DUnit 和 FastMM 错误地报告字符串

转载 作者:行者123 更新时间:2023-12-03 15:55:04 32 4
gpt4 key购买 nike

我正在使用 DUnit 和 FastMM 来捕获未完成的内存块,但似乎有一个错误。我不知道它是在 FastMM、DUnit 还是在 Delphi 本身中,但这里有:

  • 当我的测试用例有内部字符串时,测试会因内存泄漏而失败。如果我在不关闭 DUnit GUI 的情况下再次运行相同的测试,则测试通过。 DUnit GUI 测试也会出现同样的情况,我相信出于同样的原因。我的应用程序中没有泄漏,证明 FastMM 在这些情况下不会生成泄漏报告。
  • 问题一:有没有办法在不设置 AllowedMemoryLeakSize
  • 的情况下忽略它们
  • 问题2:我使用的是Delphi 7,如果这个修复在Delphi XE 中有什么消息吗?
  • 我的实际测试配置:
  • test.FailsOnNoChecksExecuted := True;
  • test.FailsOnMemoryLeak := True;
  • test.FailsOnMemoryRecovery := False;
  • test.IgnoreSetUpTearDownLeaks := True;

  • 这是一个示例代码(仅实现)
        procedure TTest.Setup;
    begin
    A := 'test';
    end;

    procedure TTest.TearDown;
    begin
    // nothing here :)
    end;

    procedure TTest.Test;
    begin
    CheckTrue(True);
    end;

    谢谢!!!!

    更新:我面临的问题记录在 http://members.optusnet.com.au/mcnabp/Projects/HIDUnit/HIDUnit.html#memoryleakdetection
    但是除了再次运行相同的测试之外,相同的链接并没有提供解决方案。

    最佳答案

    我会先尝试 Subversion 的当前版本(但此版本不适用于 Delphi 7,仅适用于 2007 和更新版本):

    commit log , 一个版本对该区域的修复有评论

    Revision 40 Modified Fri Apr 15 23:21:27 2011 UTC (14 months ago)

    move JclStartExcetionTracking and JclStopExceptionTracking out of DUnit recursion to prevent invalid memory leak reporting

    关于Delphi 7、DUnit 和 FastMM 错误地报告字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11083350/

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