Jaki jest najlepszy darmowy wykrywacz wycieków pamięci dla programu C / C++ i jego wtyczek DLL? [zamknięte]
Mam .exe i wiele wtyczek .moduły dll, które .exe ładuje. (Mam źródło dla obu.) Rozwiązanie wieloplatformowe (ze źródłami) byłoby idealne, ale platformę można zawęzić do WinXP i Visual Studio (w moim przypadku 7.1/2003).
Wbudowany VS wykrywacz nieszczelności podaje tylko linię, z której wywołano new / malloc, ale mam wrapper dla alokacji, więc najlepiej byłoby użyć pełnego symbolicznego śladu stosu.
Detektor byłby również w stanie wykryć wyciek w obu .exe i dołączoną do niego wtyczkę .moduły dll.
7 answers
Osobiście używam Visual Leak Detector , chociaż może powodować duże opóźnienia, gdy wyciekają duże bloki (wyświetla zawartość całego wyciekającego bloku).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-18 11:52:32
Jeśli nie chcesz przekompilować (jak wymaga tego wizualny Wykrywacz Nieszczelności), polecam WinDbg , który jest zarówno wydajny, jak i szybki (choć nie jest tak łatwy w użyciu, jak można by sobie życzyć).
Z drugiej strony, jeśli nie chcesz zadzierać z WinDbg, możesz rzucić okiem na UMDH , który jest również rozwijany przez Microsoft i jest łatwiejszy do nauczenia się.
Spójrz na te linki, aby dowiedzieć się więcej o WinDbg, wyciekach pamięci i zarządzaniu pamięcią w ogólne:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-28 08:02:59
Miałem dobre doświadczenia z racjonalnym oczyszczaniem . Słyszałem też miłe rzeczy o Valgrind
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-25 07:54:46
Jak dla mnie używam deleaker do lokalizowania przecieków. Cieszę się.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-18 10:03:02
Mój darmowy Profiler pamięci MemPro pozwala porównać 2 migawki i daje ślady stosu dla wszystkich przydziałów.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-18 10:10:17
Wypróbuj detektor wycieku pamięci Jochena Kalmbacha w projekcie kodu. URL do najnowszej wersji był gdzieś w komentarzach, kiedy ostatnio sprawdzałem.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-25 09:52:34
Jak napisało kilku moich znajomych istnieje wiele darmowych wykrywaczy wycieków dla C++. Wszystko to spowoduje narzut podczas uruchamiania kodu, około 20% wolniej. I preffer Visual Leak Detector for Visual C++ 2008/2010/2012, możesz pobrać kod źródłowy z - wpisz opis linku tutaj .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-20 11:58:21