delphi – 知道使用FastMM分配内存的位置
发布时间:2020-12-15 04:34:32 所属栏目:大数据 来源:网络整理
导读:我正在尝试使用Delphi 7调试大型应用程序中的内存使用情况.我能够安装fastmm debug full dll并使用它来解决一些泄漏问题. 我还安装了内存使用跟踪器,允许我查看分配了哪些块以及它们的大小. 我的问题是,有没有办法找出块的分配位置?我知道这是可能的,因为如
我正在尝试使用Delphi 7调试大型应用程序中的内存使用情况.我能够安装fastmm debug full dll并使用它来解决一些泄漏问题.
我还安装了内存使用跟踪器,允许我查看分配了哪些块以及它们的大小. 我的问题是,有没有办法找出块的分配位置?我知道这是可能的,因为如果没有释放内存,则会打印堆栈跟踪.有没有办法在fastmm’戳’让它打印给定分配的堆栈跟踪? 附带问题:如果分配的起始地址已知,有没有办法找出对象是哪个类? (假设分配是针对一个对象的. 解决方法
你可以:
>尝试使用LogAllocatedBlocksToFile过程.如果其ALastAllocationGroupToLog参数小于AFirstAllocationGroupToLog或为零,则记录所有块及其分配调用堆栈.但是,如果您的应用程序有很多内存分配,请准备等待很长时间.我经历了大约4小时的等待时间和1.5Gb结果文件. (旁注:使用glogg查看这么大的文件) 侧面问题:尝试使用DetectClassInstance函数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |