<div dir="ltr">Moznosti, kde se to muze post.... pardon, pokazit je cela rada. Jen tak namatkou (z veci, ktere jsem zazil nejcasteji):<div>-deadlock finalizeru. Pokud se (vam nebo knihovne) podarilo zustat viset ve finalizer threadu, tak obekty s finalizerem se ve skutecnosti neuvolni, ale GC je zaradi do finalizacni fronty, ale finalizaci nikdy neprojdou => nikdy se ve skutecnosti neuvolni.</div><div>-neuvolnovani even handleru. Obzvlast caste v pripade timeru. Ten pak je schopen drzet vase objekty.</div><div>-dalsi moznost je, ze je chyba v unmanaged kodu (pisete, ze jde o sber dat - takze nejaky 3rd-party driver je dost pravdepodobny), kde se alokuje pamet, ale neuvolnuje. Variaci je, ze driver tu pamet vraci managed kodu (treba formou 'handle') a ten ma volat jinou funkci driveru pro uvolneni.</div><div><br></div><div>A dalo by se pokracovat dal a dal, to jsou jen veci, se kterymi jsem se setkaval nejcasteli.<br><div>Prvni otazkou je, zde je neuvolnena pamet managed (spravovana .NET) ci nikoliv. Doporucuji si udelat memory dump v situaci, kdy uz je program nabobtnany a na ten se pak podivat pomoci WinDBG. </div></div><div>WinDBG je free (soucast SDK, pripadne ted je novy samostatny WinDBG Preview). Do nej nacist dump, SonOfStrike (knihovna pro podporu .NET v WinDBG) a podivat se kde je umrtvena pamet. V pripade, ze je na managed heap, tak se podivat na 'nejcastejsi typ' objektu (to hodne napovi), pripadne co ty objekty drzi (jake maji objekty root).</div><div>Klicova slova do vyhledavani WinDBG, SOS. Bohuzel WinDBG neni klikaci, je treba znat prikazy.</div><div>Marek</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Mar 10, 2020 at 9:23 PM Jaroslav Buchta <<a href="mailto:jaroslav.buchta@hascomp.cz">jaroslav.buchta@hascomp.cz</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Mam aplikaci ciste v C#, ktera pomalu ale jiste zere pamet az spadne - <br>
vubec nemuzu najit, jak by k tomu mohlo dochazet, neni tam nic, co by <br>
objekty nejak retezilo, vzdycky jen lokalni promenna nebo prirazeni nove <br>
instance misto stavajici. Ma na diagnostiku MSVS nejake nastroje?<br>
<br>
Asi se na neco co pouziva unsafe kod nevola dispose ale jak zjistit, na co?<br>
<br>
Je to sber dat a spadne to za par tydnu...<br>
<br>
<br>
_______________________________________________<br>
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote></div>