W systemie Linux używam valgrind do sprawdzania, czy w aplikacji występują wycieki pamięci. Jaki jest odpowiednik w systemie Windows? Czy można to zrobić za pomocą Visual Studio 2010?Znajdowanie wycieków pamięci w aplikacji C++ za pomocą programu Visual Studio
Odpowiedz
Program Visual Studio pomaga w znalezieniu wycieków pamięci. Ta link powinna być pomocna.
+1, ale warto zauważyć, że te rzeczy działają tylko w kompilacjach debugowania. – sharptooth
i trzeba zmienić kod źródłowy, i wymaga zmiany kodu źródłowego ... więc jeśli używasz bibliotek zewnętrznych, dla których nie możesz zmienić kodu źródłowego, np. nie znajdziesz przecieków pamięci spowodowanych przez nie wywoływanie 'ThirdPartyLibFree (p3rdpartyhandle)'. – smerlin
Ponadto, biblioteka CRT nie informuje o tym, kiedy pamięć była wyciekła (np. Wskaźnik został usunięty lub nadpisany). – Sascha
Możesz użyć narzędzia DevPartner do znajdowania wycieków pamięci w aplikacjach C++ za pomocą Visual Studio.
Jeśli lubisz wiercić dziury w głowie dla zabawy, na pewno. –
Dlaczego tak się stanie? – ckv
Co powiecie na Visual Leak Detector? Nie jest wbudowany, ale uważam, że jest najpopularniejszy.
Wygląda na to, że nowy adres URL to http://vld.codeplex.com/ – rogerdpack
znajduje pamięć i radzi sobie z przeciekami w natywnych programach Windows zbudowanych przy pomocy Visual Studio, Delphi i innych kompilatorów. Szybka i może obsłużyć duże obciążenia (niektórzy użytkownicy śledzą kilka miliardów przydziałów i zwolnień w jednym uruchomieniu).
Ujawnienie: Jestem projektantem Walidatora Pamięci C++. Zbudowaliśmy go, ponieważ inne narzędzia nie radziły sobie z obciążeniem pracą, gdy pracowaliśmy z SolidWorks R & D Ltd.
możliwy duplikat [Czy istnieje dobry substytut Valgrind dla Windows?] (Http://stackoverflow.com/questions/413477/is-there-a-good-valgrind-substitute-for-windows) – Patrick