- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我从 IDE 运行它时,我的应用程序在退出时报告此错误。对于程序运行时创建的每个线程实例,我通常会得到一个 FastMM 障碍,但它的可重复性不足以表征这种行为。问题是我无法理解这份报告。
---------------------------
APP.exe: Memory Error Detected
---------------------------
FastMM has detected an error during a free block scan operation. FastMM detected that a block has been modified after being freed.
The previous block size was: 40
Stack trace of when this block was previously allocated (return addresses):
403052 [APPHardwareDeclarations.pas][System][System.@GetMem][645]
405F0D [UFlxNumberFormat.pas][System][System.@NewAnsiString][956]
4065E1 [APPGlobalDeclarations.pas][System][System.@LStrSetLength][3356]
411AF7 [madStrings][madStrings.WideToAnsiEx]
41ACE8 [madTools][madTools.FindModule]
720074 [RpRenderCanvas][RpRenderCanvas.TRvRenderCanvas.FloodFill]
720074 [RpRenderCanvas][RpRenderCanvas.TRvRenderCanvas.FloodFill]
780065 [UXlsReferences][UXlsReferences.TReferences.SaveToStream]
4AAB2E [ExtCtrls][ExtCtrls.TTimer.Timer]
Stack trace of when the block was previously freed (return addresses):
405E59 [APPSendEmailSMTPQueue.pas][System][System.@LStrClr][494]
406DD3 [APPGlobalDeclarations.pas][System][System.@FinalizeArray][3584]
406D5D [APPGlobalDeclarations.pas][System][System.@FinalizeRecord][3560]
406E38 [APPGlobalDeclarations.pas][System][System.@FinalizeArray][3602]
47B6F2 [Classes][Classes.TStringList.Destroy]
404DFF [GIFImage.pas][System][System.TObject.Free][12891]
468741 [SysUtils][SysUtils.FreeAndNil]
506600 [StringUtilities][StringUtilities.AddCommaTextPair]
85C738 [APPLogWebTransactionsQueue][APPLogWebTransactionsQueue.ServiceWebTransactionQueue]
The current stack trace leading to this error (return addresses):
40D04C [FastMM4][FastMM4.CheckBlocksOnShutdown]
40DE88 [FastMM4][FastMM4.Finalization]
4059F3 [GraphicEx.pas][System][System.FinalizeUnits][8123]
458CAA [madExcept][madExcept.InterceptFinalizeUnits]
405CCB [IdCoderXXE.pas][System][System.@Halt0][85]
924868
7C90DCBA [ZwSetInformationThread]
7C81776F [RegisterWaitForInputIdle]
7C817778 [RegisterWaitForInputIdle]
Current memory dump of 256 bytes starting at pointer address 16902788:
6C 6A 95 00 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80
80 80 80 80 80 80 80 80 D7 D8 6F E9 80 80 80 80 80 80 00 00 41 1E 90 16 00 00 00 00 00 00 00 00
00 00 00 00 52 30 40 00 9B 4D 40 00 11 82 40 00 62 51 40 00 E2 5B 64 00 21 76 64 00 68 77 64 00
12 B0 64 00 AD D6 64 00 6E 30 40 00 B9 4D 40 00 AD 51 40 00 6A 5C 64 00 78 82 40 00 78 35 64 00
83 81 40 00 48 6E 40 00 5D 6D 40 00 28 00 00 00 04 44 64 00 C0 27 90 16 6C 6A 95 00 80 80 80 80
80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80
3F D8 6F E9 80 80 80 80 00 00 00 00 40 FF 8F 16 00 00 00 00 00 00 00 00 00 00 00 00 52 30 40 00
0D 5F 40 00 E1 65 40 00 F7 1A 41 00 E8 AC 41 00 74 00 72 00 74 00 72 00 65 00 78 00 2E AB 4A 00
l j • . € € € € € € € € € € € € € € € € € € € € € € € € € € € €
€ € € € € € € € × Ø o é € € € € € € . . A . . . . . . . . . .
. . . . R 0 @ . › M @ . . ‚ @ . b Q @ . â [ d . ! v d . h w d .
. ° d . Ö d . n 0 @ . ¹ M @ . Q @ . j \ d . x ‚ @ . x 5 d .
ƒ @ . H n @ . ] m @ . ( . . . . D d . À ' . l j • . € € € €
€ € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € €
? Ø o é € € € € . . . . @ ÿ . . . . . . . . . . . . . R 0 @ .
. _ @ . á e @ . ÷ . A . è ¬ A . t . r . t . r . e . x . . « J .
468741 [SysUtils][SysUtils.FreeAndNil]
506600 [StringUtilities][StringUtilities.AddCommaTextPair]
85C738 [APPLogWebTransactionsQueue][APPLogWebTransactionsQueue.ServiceWebTransactionQueue]
GIFImage.pas
是什么?在里面做什么?先前分配 block 的时间是完全随机的。这些项目都没有意义。
最佳答案
可能存在一些堆栈跟踪错误(例如不正确的单元名称或某些完全不正确的行,您应该在整个堆栈跟踪上看起来更一般并跳过不正确的个别行)
我猜你不完全理解这个错误。
快速 MM 仅检测到某些已释放内存块已被修改(它在应用程序退出时检测到这一点,但在 block 修改时未检测到)
在这种情况下,堆栈跟踪只会告诉您何时分配和释放 block 但不是在修改时 .
寻找这种类型的错误非常困难,你必须找到内存损坏的地方,你可以使用 FastMM 内置程序来检查内存完整性(在大多数可疑的内存操作之后到处调用它)并祝你好运。
关于Delphi,FastMM - block 在被释放后已被修改 - 需要帮助解释此 FastMM 报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19756467/
当我从 IDE 运行它时,我的应用程序在退出时报告此错误。对于程序运行时创建的每个线程实例,我通常会得到一个 FastMM 障碍,但它的可重复性不足以表征这种行为。问题是我无法理解这份报告。 ----
最近有人建议 ( My program never releases the memory back. Why? ) 我的程序泄漏了一些内存。我将 FastMM 设置为激进,当我关闭程序时它报告没有内
我有一个复杂的应用程序,在正常编译时可以按预期工作,但是在使用 FastMM 4.97(最新)编译时关闭表单会产生访问冲突。当消息调度尝试处理针对已被销毁的表单上的按钮的消息时,就会发生 AV。我还为
如何获取 FastMM 分配的内存总量? 我已经尝试过了: function GetTotalAllocatedMemory: Cardinal; var MMState: TMemoryMana
我在 Delphi5 中的应用程序中使用 FastMM 4.97。 如果我从 IDE 运行我的应用程序并出于测试目的故意泄漏,则一切正常。我得到了适当的通知和错误日志。 但是,如果我在 IDE 之外运
FastMM 报告以下使用带有字符串的记录线程变量的代码片段存在内存泄漏 (UnicodeString): program Project10; {$APPTYPE CONSOLE} {$R *.re
我正在寻找一些内存泄漏,并在 FullDebugMode 中使用 FastMM 来获取事件日志。这工作得很好,但是堆栈跟踪......一点也不太好。 一个简短的例子: This block was a
FastMM 会使您的可执行文件更大吗?我注意到我的应用程序增长了大约 300-500kb,这对我来说相当大了。我已经关闭了delphi编译器选项以排除调试信息,但大小没有改变。 我使用FastMM的
我通过svn结帐下载了FastMM。 (而不是稳定的打包版本) 我可以在发行版本中使用它(或安全使用)吗? 我是作为Rob Kennedy建议的单独问题来询问的。 最佳答案 您可以确定,但是要由您确定
我有一个主机应用程序,它在启动时加载了十几个库。我想从 Delphi 7s 默认内存管理器切换到 FastMM4 的完整版本以获得更好的内存泄漏报告。 我应该在主机应用程序和库的使用部分包含 Fast
我有一个想法,可以在夜间自动构建中启用 FastMMs memleakreporting。消息框当然应该被禁用。最简单的可能是如果存在内存泄漏,应用程序退出代码 > 0。我做了一个快速测试,使用 me
我正在使用 FastMM 调试我的程序,它报告的许多内存泄漏似乎是合法的内存分配,而不是实际的内存泄漏。 例如, A memory block has been leaked. The size is
我正在尝试使用 FastMM 版本 4.99(根据 FastMM4.pas 顶部的注释)。我有followed the instructions使用带有堆栈跟踪的完整 Debug模式,并且当我在 ID
如果我声明 PSomeStruct = ^TSomeStruct; TSomeStruct = record s1 : string; end; 我运行以下代码: var p: PSomeSt
如果可能的话,我希望我的 Delphi 项目在程序运行时生成 FASTMM 内存泄漏报告,并在关闭时附加到该报告,而不必查看 this dialog每次我关闭程序时。 如果不可能让 FMM 创建报告并
我正在尝试使用 Delphi 7 调试大型应用程序中的内存使用情况。我能够安装 fastmm debug full dll 并用它解决一些泄漏问题。 我还安装了内存使用跟踪器,让我可以查看分配了哪些
我有以下示例应用程序显示了该问题: program FalseMemLeak; uses ShareMem; var o: TObject; begin o := TObject.Crea
将项目从 Delphi 2007 升级到 Delphi 2009 后,我遇到了未知的内存泄漏,到目前为止我一直在尝试使用 fastMM 来跟踪它,以下是 fastMM 堆栈跟踪报告的内容: A mem
当 FastMM 记录内存泄漏时,它会包含一个可回溯 9 个调用的堆栈跟踪。问题是堆栈跟踪太笼统,无法轻松定位问题。跟踪中的最后一个函数调用至少被调用了 50 次,并且对象泄漏是很常见的。 我该怎么做
我在下面的文章中注意到,您可以从 FastMM 中获取堆栈跟踪,以显示对象的分配位置: How to track down tricky memory leak with fastMM? 不过,我找不
我是一名优秀的程序员,十分优秀!