2011-08-02 11 views
5

Chcę określić źródło ogromnego zużycia pamięci mojej aplikacji. Moja aplikacja je dużo pamięci wirtualnej (kolumna VM w menedżerze zadań lub prywatnych bajtach w VMMap)Nie można wykryć przydzielania pamięci niezarządzanej w .NET

Moja aplikacja jest usługą .net, ale używa C# wrapperów wokół obiektów C++.

Próbowałem profilera pamięci mrówek Red Gate, ale zlicza tylko zarządzane obiekty i nie liczy pamięci przydzielonej przez niezarządzanego operatora C++ new (który po prostu wywołuje Virtual Alloc).

Innym problemem z profilerem zarządzanych pamięci jest brak możliwości śledzenia wykresu połączeń - patrz rysunek poniżej.

enter image description here

enter image description here

+0

jakich ustawień używasz w profileru pamięci RedGate? z tym kiedyś znalazłem nawet wyciek pamięci w bibliotece 3rdparty, która używała niezarządzanych przydziałów ... – Yahia

+1

Dlaczego nie używać natywnego profilera dla niezarządzanych bitów? – leppie

+0

Leppie, czy możesz polecić? –

Odpowiedz

Powiązane problemy