fastmm相关内容

如何将FastMM添加到C++Builder项目中?

我正在尝试为Builder C++ 6配置FASTMM4,我遵循的步骤是; 从sourceforge.下载压缩包 在Project -> Options -> Linker菜单下,我取消选中"Use Dynamic RTL"。 将C:/tools/FASTMM中的内容解压缩并将FASTMM4.pas文件添加到我的测试C++VCL项目中。 只需从项目菜单编译该单元,并在FastMM文件夹 ..
发布时间:2022-07-19 18:10:24 C/C++开发

如何在 FastMM4 中启用完全调试模式?

我不知道如何使用 FastMM.我已经从 SourceForge 下载它并将 FastMM4Messages.pas 和 FastMM4.pas 放在我的 dpr 文件的顶部. 我现在调用这个过程来泄漏一些内存: procedure testMemoryFastMM;无功str : TStringList;开始str:=TStringList.Create;str.add('MemChk' ..
发布时间:2021-12-31 08:08:20 其他开发

为什么我的 Delphi 程序的内存继续增长?

我使用的是内置 FastMM4 内存管理器的 Delphi 2009. 我的程序读入并处理一个大型数据集.每当我清除数据集或退出程序时,所有内存都会被正确释放.它根本没有内存泄漏. 使用在 spenwarr 的回答中给出的 CurrentMemoryUsage 例程:如何获取Delphi程序使用的内存,我已经显示了FastMM4在处理过程中使用的内存. 似乎正在发生的是,在每个进 ..
发布时间:2021-12-14 00:05:04 其他开发

如何从 FastMM 获取堆栈跟踪

我在下面的帖子中注意到,您可以从 FastMM 中获取堆栈跟踪,以显示对象的分配位置: 如何使用 fastMM 追踪棘手的内存泄漏? 不过,我找不到有关如何在 Delphi 2009 中启用此功能的任何信息. 我已将 ReportMemoryLeaksOnShutdown 设置为 true 以便获得基本报告,但如何获得堆栈跟踪报告? 解决方案 FastMM 的内部 Del ..
发布时间:2021-12-13 23:19:17 其他开发

如何获取 Delphi 程序使用的内存

我知道如何使用 GlobalMemoryStatusEx 获取系统内存使用情况,但这告诉我整个操作系统正在使用什么. 我真的希望我的程序报告它单独分配和使用了多少内存. 在我的 Delphi 2009 程序中是否有任何方法可以调用 Windows 函数或某些 FastMM 函数来找出我的程序单独分配的内存? 重新审视我的问题,我现在已将我接受的答案更改为@apenwarr 的 G ..
发布时间:2021-12-13 23:08:48 其他开发

FastMM4、DebugGetMem 中的偶然访问冲突

我正在尝试追踪访问冲突.再现性似乎是不确定的,而且很少见,所以我想在继续之前检查我的一些假设. 在 FastMM4 版本 4.991 中,在函数 DebugGetMem 中引发访问冲突,在以下代码中: if (ASize > (MaximumMediumBlockSize - BlockHeaderSize - FullDebugBlockOverhead))或 CheckFreeBloc ..
发布时间:2021-11-26 20:11:07 其他开发

使用FastMM4,如何注册泄漏的字符串?

使用FastMM4,可以轻松注册泄漏的指针,但不能注册泄漏的字符串。显然,应用于字符串的 @ 运算符并没有真正为我们提供整个字符串, PChar(string)也没有; 现在我可以使用它来很好地注册泄漏的字符串了吗? FastMM4.RegisterExpectedMemoryLeak(Pointer(NativeInt(PChar(StringVariable))-12)); ..
发布时间:2020-10-20 18:40:04 其他开发

如何访问FastMM4的RegisterExpectedMemoryLeak?

我正在使用Delphi的fastMM内存管理器,尝试使用完整调试模式时失败。 编译时出现以下错误: FastMM\ FastMM4.pas(6872)错误:未声明的标识符:'RegisterExpectedMemoryLeak' FastMM\FastMM4.pas(6948)错误:未声明的标识符:'UnregisterExpectedMemoryLeak' FastMM\Fas ..
发布时间:2020-10-20 06:36:24 其他开发

如何说服内存管理器释放未使用的内存

在最近的帖子中(我的程序从不释放内存。为什么?)我表明使用FastMM时,该应用程序不会将大量内存释放回系统。 最近我创建了一个人工测试程序,以确保它不是内存问题,并且仅在FastMM中出现。 在此程序中,我创建并破坏了一个对象(与上一篇文章中使用的对象相同)500次。 内存需求为(“私有工作集”): 没有FastMM 运行循环之前:1.2MB 运行循环后:2.1M ..
发布时间:2020-10-20 02:24:47 其他开发

TXMLDocument.Active:= False导致FastMM4错误消息"FastMM在释放后检测到块已被修改".

在FullDebugMode中使用带有FastMM4(版本4.92)的Delphi XE8会产生奇怪的效果. 要重现效果,只需创建一个新的TForm应用程序,将FastMM4放在DPR文件的第一行, 在表单上放置一个按钮,然后在clickhandler中放置以下代码: (您需要安装FastMM 4,必须在FastMM4Options.inc文件中启用FullDebugMode,并且 F ..
发布时间:2020-06-30 20:14:39 其他开发

什么能解释FastMM或GetProcessMemoryInfo报告的内存使用差异?

我的Delphi XE应用程序基于单个EXE,使用的是由RemObjects创建的本地服务器DLL,并且对特定操作使用大量内存,直到它生成一个异常(表示没有足够的内存)为止.因此,我试图了解这种情况的发生原因和发生位置,因此在整个代码中放置了多个步骤,以报告内存使用情况.问题是,根据用于获取内存使用情况信息的方法,我得到的信息非常不同: 如果我使用方法在此处解释,该方法直接向FastMM询问 ..
发布时间:2020-05-08 22:07:36 其他开发

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

我正在使用DUnit和FastMM捕获未完成的内存块,但是似乎有一个Bug.我不知道它是在FastMM,DUnit还是在Delphi本身,但是在这里: 当我的测试用例具有内部字符串时,测试将失败,并发生内存泄漏.如果我再次运行相同的测试而不关闭DUnit GUI,则测试通过OK.出于相同的原因,我相信DUnit GUI测试也是这样.我的应用程序中没有泄漏,证明在这些情况下FastMM不会生成 ..
发布时间:2020-05-08 21:09:09 其他开发

FastMM4,如何读取日志文件?

我正在开发一个软件,所以我刚开始在我的项目中使用FastMM4(实际). 我在网上找到了有关如何在FastMM4中获取line number的信息,我获得了行号,但是我可以弄清楚日志中的其他信息意味着什么? 我在日志文件中有这个 This block was allocated by thread 0x15F8, and the stack trace (return addre ..
发布时间:2020-05-03 08:34:55 其他开发

FastMM4,Delphi6,TApplication泄漏?

我用D6检查了FastMM4。 当我使用“Forms”调试一个简单的应用程序时,我每次都有3行内存泄漏。 泄漏的内存。 小块漏洞是(不包括由指针注册的 预期泄漏): 13 - 20字节:TObjectList x 3, 未知x 3 29 - 36字节: TWinHelpViewer x 1 37 - 52字节: THelpManager x 1 这是正常的吗? ..
发布时间:2018-03-13 20:13:43 其他开发

FastMM4,DebugGetMem中偶尔访问冲突

我正在尝试追踪访问冲突。重现性似乎是非确定性的,很少见,所以我想在我进一步了解之前先检查一下我的假设。 访问冲突在FaseMM4 4.991 ,在函数DebugGetMem中,在以下代码中: if(ASize>(MaximumMediumBlockSize - BlockHeaderSize - FullDebugBlockOverhead)) 或CheckFreeBlock ..
发布时间:2017-04-28 20:59:44 Delphi

如何在DUnit中启用FastMM的内存泄漏跟踪?

在GUI测试运行器中,内存泄漏检查的菜单项为 无效(灰显)。有没有一个特殊的开关我还没有找到 激活他们? 使用DUnit 9.4(从Delphi 2009或源代码Subversion版本库)和 FastMM4.92 解决方案 您必须使用FASTMM和ManualLeakReportingControl指令构建DUnit GUI-testrunner。这将启用记忆体项目(请查看G ..
发布时间:2017-04-28 19:51:28 Delphi

FreeMM vs ShareMem

我们有很多dll库用delphi和c ++构建器编写,并使用sharemem和borlndmm.dll。 第3方库中的一个分配问题有人可以为我解释“共享内存管理器”吗? 是SimpleShareMem的一个替换代码对于ShareMem? 我们可以停止部署borlndmm.dll吗? 我们还要用c ++ - 库做些什么? 可以有些库使用ShareMem和一些Simple ..
发布时间:2017-04-25 00:34:48 Delphi

FastMM4说“块头已被损坏”

我有这个讨厌的错误在过去消失了,但现在经过一段时间后才返回。 我有两个TSam对象(派生自TPersistent)创建和加载转换成TAsmJob对象(派生自TObjectList)。 在运行时,表单创建一个TStringGrid,然后创建AsmJob,创建这两个SAM对象(并从磁盘加载一些数据在他们每个)。 AsmJob也被分配到网格。 当表单被销毁时,Grid通过释放它来处理Asm ..
发布时间:2017-04-24 21:47:18 Delphi