[OT] C# program zere pamet

Marek Sembol hwm.land na gmail.com
Úterý Březen 10 22:12:44 CET 2020


Moznosti, kde se to muze post.... pardon, pokazit je cela rada. Jen tak
namatkou (z veci, ktere jsem zazil nejcasteji):
-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.
-neuvolnovani even handleru. Obzvlast caste v pripade timeru. Ten pak je
schopen drzet vase objekty.
-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.

A dalo by se pokracovat dal a dal, to jsou jen veci, se kterymi jsem se
setkaval nejcasteli.
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.
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).
Klicova slova do vyhledavani WinDBG, SOS. Bohuzel WinDBG neni klikaci, je
treba znat prikazy.
Marek

On Tue, Mar 10, 2020 at 9:23 PM Jaroslav Buchta <jaroslav.buchta na hascomp.cz>
wrote:

> Mam aplikaci ciste v C#, ktera pomalu ale jiste zere pamet az spadne -
> vubec nemuzu najit, jak by k tomu mohlo dochazet, neni tam nic, co by
> objekty nejak retezilo, vzdycky jen lokalni promenna nebo prirazeni nove
> instance misto stavajici. Ma na diagnostiku MSVS nejake nastroje?
>
> Asi se na neco co pouziva unsafe kod nevola dispose ale jak zjistit, na co?
>
> Je to sber dat a spadne to za par tydnu...
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20200310/e1f1fc4f/attachment.html>


Další informace o konferenci Hw-list