Czy istnieją jakieś dobre (i darmowe) narzędzia do analizy statycznego źródła lub uruchomionych programów, aby pomóc wykryć wycieki pamięci?Test wycieków pamięci w aplikacjach .NET
Zbudowałem kilka usług windowsowych i chcę się upewnić, że nie zużyję pamięci, jeśli zostawiam je działające tygodniami.
Czy pojemnik na śmieci w końcu ich nie odbierze? – James
Nie, jeśli zachowujesz odniesienia do nich w pobliżu. np .: Może się zdarzyć, jeśli tworzysz obiekty ze zdarzeniami, a następnie dołączasz programy obsługi zdarzeń. Jeśli nie usuniesz procedury obsługi zdarzenia, obiekt nie zostanie wyczyszczony. –
Typ przecieku, którego potrzebuje, to obiekty, które ciągle rosną, gdzie trzyma odniesienie do leżącego przedmiotu. Mógłby też mieć błędy w swoim kodzie związane z niezarządzanymi zasobami, które chciałby wykryć, i pojawił się co najmniej jeden błąd w środowisku wykonawczym .NET (metoda CopyFromScreen wycieka 1 klamkę za każdym razem), więc zakładam, że chce sprawdzić takie rzeczy. –