20

私は FASTMM4 メモリ リーク レポートを通過し、すべての関連データをカスタムメイドの構造体/クラスに格納するパーサーに取り組んでいます。VirtualTreeViewを使用して、リークしたインスタンスを持つ各クラスをツリ​​ーのノードとして表示します。ツリー- 最初のノードが不明であることに注意してください。これは、FASTMM がメソッドAClassを呼び出して、天気がクラスかどうかを判断するためです。カスタム構造が見つかると、それらが不明としてマークされます。ほとんどのメモリ リークはこれらのカスタム構造とレコードから発生するため、レポート アナライザーはあまり効果的ではありません。

質問: DebugInfo または JVCL のような他のツールを使用てこれらのデバッグ シンボルを収集し、メモリ アドレスをメモリ リーク レポート ファイルにあるものと比較する方法はありますか? ツリーに UNKNOWN を表示するのをやめて、これらのカスタム構造の名前を表示したいと思います。私は Delphi プログラミングは初めてで、メモリ リークへの取り組みも初めてなので、どんな助けも大いに役立ちます。

4

1 に答える 1

1

おそらく、拡張 RTTI (Delphi 2010 以降) を使用して、typeinfo ポインタとすべての「非クラス」型の名前のみを保持する型辞書を作成できます。

この機能は、通常の操作でのオーバーヘッドを回避するために、条件定義を使用して有効にすることができます。

于 2012-12-06T10:13:48.597 に答える