2009-06-05 11 views
8

Obecnie poszukuję dobrego narzędzia do wykrywania pamięci/wycieków w systemie Windows. Kilka lat temu użyłem Boundscheckera Numegi, który był BARDZO dobry. Teraz wydaje się, że został sprzedany firmie Compuware, która podobno sprzedała ją ponownie innej firmie.Dobre profilowanie pamięci, wykrywanie wycieków i błędów dla systemu Windows

Próbując ocenić prezentację aktualnej wersji został dotychczas bardzo frustrujące, w najlepszym „enterprisy” tradycji:

(a) nie reklamowane ceny na ich stronie internetowej (wielki Red Migające ostrzeżenie);
(b) formularz kontaktowy, którego dotyczy wniosek o liczbę pracodawców i inne prywatne informacje;
(c) brak odpowiedzi na moje e-maile z prośbą o ocenę i cenę.

Musiałem stwierdzić, że BoundsChecker jest obecnie jednym z "tych" produktów. Wiesz, ten typ, w którym niewinnie dzwonisz i jutro 3 ludzi w czarnych garniturach pojawia się w twoim budynku , chcąc z tobą porozmawiać o "partnerstwie" i nie tak potajemnie ocenić wielkość twojej firmy, a więc ile mogą uciec z obciążeniem cię.

Cóż, odkładam na bok, czy ktoś może polecić doskonałe narzędzie do sprawdzania/wykrywania nieszczelności, ile kosztuje, i sugestie, gdzie kupić?

+0

Spróbuj Deleaker - jest również bardzo dobry. –

Odpowiedz

3

Strzeż COMPUWARE za bounds sprawdzający: Jest stabilny aż do pewnego momentu. Kosztuje około 3600 dolarów, a około takiej samej kwoty do utrzymania z roku na rok. Ale to orzeszki ziemne w porównaniu do Coverity. Nie dostałem dobrego testu, aby pracować pod kontrolą Bounds Checker przez ostatnie 3 lata. Dlatego już go nie używam i dlatego nie polecam go używać, z wyjątkiem małych, małych projektów. W dużych aplikacjach dla przedsiębiorstw jest to zbyt wolne, zajmuje zbyt dużo pamięci i po prostu przestaje działać. Naprawdę, czy chcesz, żeby twoja aplikacja zajęła 5 minut? Czy chcesz, aby twoje egzekucje testowe trwały 3 razy dłużej? Najgorszy ze wszystkich jest tendencja do zamykania się. Obsługa klienta od Compuware była dość ograniczona. Ale sprawdzanie granic zostało sprzedane innej firmie (nie pamiętam ich nazwy), której strona internetowa jest tak aniceptyczna, wysterylizowana i sucha, sprawia, że ​​witryny firm finansowych wyglądają zabawnie. Ale problem z zabójcą z BoundsChecker jest tylko 32-bitowy. Więc jeśli potrzebujesz profilować dużą aplikację, która zajmuje dużo pamięci (więcej niż 1 gig), po prostu nie masz szczęścia. Bound Checker zjada od 2 do 3 gigabajtów pamięci z twojej aplikacji. A dzięki aplikacjom 32-bitowym dobrze wiesz, że 4 Gigs to najwyższe szczyty.

Ochrona ubezpieczeniowa jest świetna, jeśli zatrudnisz osobę do opieki nad dzieckiem. Poważnie Coverity kosztuje więcej niż mój dom. Nie wspominając już o osobie, której moja firma byłaby zbyt zatrudniona, by opiekować się dangiem. Zabieranie magii trwa 24 godziny. I nie robi to o wiele więcej magii niż po prostu skompilowanie kodu na poziomie ostrzeżenia 4 i włączenie "Analizy kodu" (In visual studio).

Próbowałem innych narzędzi wycieku pamięci (dla kodu natywnego). Wszyscy OCZYWISTE spędzają dużo czasu, są zbyt skomplikowani lub po prostu starają się zamknąć system. Jestem tak zdegustowany całą dziedziną profilowania pamięci, że po prostu chcę wrócić do używania debugującego CRT. To lub po prostu napisz sam.

Jeśli chodzi o narzędzia do pokrycia kodu, Bullseye wygrywa. Dlaczego detektor wycieków pamięci nie działa tak dobrze jak tarcza?

+0

Niestety, jedyne co mogę dodać to Amen. – cfischer

+0

Zgadzam się również z 1000%. Nawet przy obsłudze aplikacji 64-bitowych, BoundsChecker nadal blokuje się, zajmuje 10 minut, aby uruchomić moją niemałą aplikację i nie może nawet znaleźć (nawet celowo !!!) przecieków pamięci. – Brett

+0

Dopiero teraz w pełni zdaję sobie sprawę z katastrofy (dla tego produktu), że przejęcie NuMega przez Compuware miało miejsce w 1997 roku. Stając się częścią spółki notowanej na giełdzie, wszystkie wcześniej istniejące produkty zostały wprowadzone do "utrzymania", a mniejsi programiści wykonali pracę, ponieważ firma próbowała znaleźć sposób na zrobienie czegoś nowego (czegoś, co nie zna się na brodawkach), aby sprzedać, wykorzystać starsza technologia, gdzie to możliwe. –

2

Narzędzie Microsoftu Application Verifier jest bardzo dobre w wykrywaniu wycieków, a także wielu innych typowych błędów programistycznych w systemie Windows (COM, hałdy, TLS, blokady, itp.).

To nie robi zbyt wiele na drodze profilowania, ale da ci stos miejsca, w którym została przydzielona pamięć, kiedy ją wyciekasz, lub stos, w którym był wolny za pierwszym razem, jeśli podwoisz za darmo itp.

2

Jestem całkiem zadowolony z AQTime, a ceny są trudne do pokonania (i bardzo przejrzyste - 599 USD za użytkownika).

Profiler alokacji działa dość dobrze - nie jest tak wyrafinowany jak Boundschecker (z tego, co pamiętam z Boundschecker), ale to, co robi, działa dobrze - i obsługuje też kilka innych rzeczy.

1

Ten wątek jest nieaktualny. Prawdą jest, że nie byliśmy w stanie przekonać Micro Focus do publikowania cen na głównej stronie internetowej, ale można uzyskać ceny na ComponentSource, a my nie wysyłamy agentów w ciemnych kolorach i odcieniach 8-/Ceny zależą na pytanie, czy pytasz o jednego użytkownika, czy o wiele licencji użytkownika i czy chcesz po prostu BoundsChecker, czy chcesz całe studio DevPartner. Aby uzyskać szczegółowe informacje, patrz ComponentSource Listing.

W każdym razie, nie przestaliśmy pracować nad produktem. 4 lutego wydaliśmy wersję 10.5, która (w końcu) obsługuje aplikacje 64-bitowe (AMD64, Intel64, nie Itanium) na Vista i Windows 7. Naprawiono kilka starych błędów. Następna aktualizacja obejmie obsługę XP64 i Windows 7 SP1, a także Visual Studio 2010 SP1.

+0

Jeśli ktoś ma pytania dotyczące Micro Focus DevPartner Studio lub BoundsChecker, odwiedź nasze forum pod adresem http://community.microfocus.com/Forums/9_DevPartner. –

+0

Forum pomocy zmieniło lokalizację. Jest teraz na http://community.microfocus.com/ –

Powiązane problemy