2011-06-23 19 views
4

.NET管理アプリケーションがInterOPを介してアンマネージコンポーネントと相互作用するとします。メモリの問題をデバッグする必要がある場合。どこに管理されていないコンポーネントがメモリを割り当てますか?それはGCで使用されているのと同じヒープですか(それは疑いますか)、それとも他の領域ですか?私はWindbgのデバッグをしていて、もし私がdumpheapのようなSoSコマンドを使ってアンマネージドコンポーネントによる割り当てを見ることができるのだろうか?割当/割当解除のためにアンマネージドコンポーネントによって使用されるメモリ領域

答えて

3

Windbgでは、!heapinspect native heap memoryを使用できます。 GC(管理対象)ヒープは、ネイティブコードヒープの使用とは別のものですが、管理されたヒープを(CLR内で)1つ以上のネイティブヒープにマップする必要があります。

SoSは、マネージコードのデバッグに純粋に使用されています.WinDbgは、まず第一にネイティブコードのデバッグツールです。

umdh.exeでも、私はこれを混在モードのアプリで試していませんが、役に立つかもしれません。

関連する問題