IATパッチメカニズムを使用してHeapAllocへのすべての呼び出しをフックするメモリ追跡アプリケーションを作成しています。アイデアは、HeapAllocへのすべての呼び出しをキャプチャし、コールスタックを取得することです。
ただし、現在、DBGHELPAPIを使用してコールスタックを取得する際に問題が発生しています。dbghelpdll自体がMSVCRTdllにリンクしており、この依存関係により再帰呼び出しが発生することがわかりました。ターゲットアプリケーションからの呼び出しのいずれかに対してコールスタックを取得しようとすると、dbghelpはMSVCRTから内部的にHeapAllocを呼び出すメソッドを呼び出します。また、MSVCRTにパッチを適用しているため、無限ループが発生します。
誰かがこの問題に直面してそれを解決しましたか?この行き詰まりから抜け出す方法はありますか?