2

Application Verifier の仕組みを知っている人はいますか?

私は現在、再帰を多用するツリー解析アプリケーションに取り組んでいます。プログラムは意図したとおりに動作しているようですが、いくつかの場所で「new」を使用しているため、Application Verifier でメモリ リークをチェックすることを考えました。AV はエラーを報告しませんが、アプリケーションのイメージは数分で約 1 GB に急速に拡大しますが、それがなければ約 60 MB しかありません。メモリリークを見つけることができないようで、再帰がどれだけ進行しているかを見ると、AV がテスト目的で余分な項目をスタックに配置しているのではないかと疑い始めています。そしてプログラムをクラッシュさせます。

誰かが問題について何か洞察を持っていますか?

4

1 に答える 1

1

オンにした AppVerifier 機能によって異なる場合があります。各割り当てを独自のページに配置し、割り当て間にガード ページを割り当てるヒープ チェック機能があります。多数の小さなオブジェクトを割り当てている場合、この機能によりメモリ使用量が大幅に増加します。これは、この種のテストでは正常な動作であり、心配する必要はありません。

一方で、スタックの使用に影響を与える機能については知りません。インストルメンテーションを使用してコードを再コンパイルせずにスタックをいじるのは難しいと思います。また、AppVerifier はインストルメンテーションを使用してコンパイルする必要はありません。

于 2012-07-31T18:22:51.980 に答える