加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何获取实例已经泄露内存的定制结构的名称?

发布时间:2020-12-15 10:17:20 所属栏目:大数据 来源:网络整理
导读:我正在处理一个解析器,它将通过一个FASTMM4内存泄漏报告,并将所有相关数据存储在定制的结构/类中。我使用 VirtualTreeView来显示每个具有泄漏实例的类作为树中的一个节点。 The tree – 请注意,第一个节点说不明。这是因为FASTMM调用一个方法AClass来确定
我正在处理一个解析器,它将通过一个FASTMM4内存泄漏报告,并将所有相关数据存储在定制的结构/类中。我使用 VirtualTreeView来显示每个具有泄漏实例的类作为树中的一个节点。 The tree –
请注意,第一个节点说不明。这是因为FASTMM调用一个方法AClass来确定天气是否是一个类。当它找到自定义结构时,它将它们标记为未知,这不会使我的报告分析器非常有效,因为大多数内存泄漏来自这些自定义结构和记录。

问题:有没有办法使用DebugInfo或者像JVCL这样的其他工具来收集那些调试符号,并将它们的内存地址与memory-leak-report-file中的内存地址进行比较?我希望我的树停止显示UNKNOWN并显示这些自定义结构的名称。
我是Delphi编程的新手,甚至更新来处理内存泄漏,所以任何帮助都意味着很多!

解决方法

也许扩展RTTI(Delphi 2010一个较新的)可以用来创建一个类型字典,它只保存typeinfo指针和所有“非类”类型的名称。

可以使用条件定义来启用此功能,以避免其在正常操作中的开销。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读