Application Verifier と HeapAlloc
LinuxでValgrindを使っている人が欲しがるものに近い MS AppVerifier (Application Verifier) は,謎メカニズムに基づいて色々チェックをしてくれる.しかし「CreateHeap
したヒープのリーク」とか「HeapAlloc
で取ってきたメモリのリーク」は警告してくれないようだ.
今 STL allocator をいじって delete
を削り, CreateHeap
を「一括削除型のメモリプール」に使う実験(HeapFree
せずに HeapDestroy
)をしてるんだが,いまいち正常動作してるんだか自信が持てない.CreateHeap
のハンドルをメンバに持つallocatorをコンテナや std::string
に使おうとすると,今まで無引数だったctorのシグネチャが変わるから,あちこちで単純作業の書き換えが発生して悲惨なことになる.そしてそこで見落としが生じて従来のC++ runtimeからメモリ貰ってきてないか(さらに貰うだけ貰って delete
忘れてたら最悪),心配でしょうがないのでツールに頼りたいんだが... (→ エスケープ解析(リージョン推論)に関する妄想へ続く)