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

前端之家收集整理的这篇文章主要介绍了delphi – 如何获取实例已经泄露内存的定制结构的名称?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在处理一个解析器,它将通过一个FASTMM4内存泄漏报告,并将所有相关数据存储在定制的结构/类中。我使用 VirtualTreeView显示每个具有泄漏实例的类作为树中的一个节点。 The tree
请注意,第一个节点说不明。这是因为FASTMM调用一个方法AClass来确定天气是否是一个类。当它找到自定义结构时,它将它们标记为未知,这不会使我的报告分析器非常有效,因为大多数内存泄漏来自这些自定义结构和记录。

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

解决方法

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

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

猜你在找的Delphi相关文章