Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Alat za analizu zauzetih referenci u tekucoj aplikaciji

  • 6 odgovora
  • 2.527 pregleda

Najnovija ↓

Alat za analizu zauzetih referenci u tekucoj aplikaciji 09.09.2010. u 12:23 · pre 196 meseci #1
Zna li neko za dobar alat sa kojim moze da se analizira (runtime, u tekucoj aplikaciji) koji su sve objekti zauzeti (referencirani u object graphu) i koje su generacije ako nemaju referencu?

Najvise me zanima mogucnost da za zadati tip T dobijem listu aktivnih referenci na sve objekte tipa T, ili za referencu na konkretni objekat O da dobijem sve ostale reference na taj objekat O. Alat moze da bude u obliku eksternog profajlera ili runtime klase koju mogu da ugradim u Debug konfiguraciju assemblija. Za sada koristim princip da u klasama koje hocu da pratim brojim reference u jedan private static, povecavajuci brojac u konstruktoru i smanjujuci u destruktoru, ali to nije univerzalno i moram da subklasujem sve klase sto ponekad nije moguce (sealed klasa ili factory method koji proizvodi konacni tip).

Postoji li tako nesto?
Potpis
if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.
Re: Alat za analizu zauzetih referenci u tekucoj aplikaciji 09.09.2010. u 16:38 · pre 196 meseci #3
Nisi razumeo, ne trebaju meni reference na objekte da bih mogao da ih menjam/invokujem metode, nego samo da ih prebrojim tj. da vidim da li se i kada oslobadjaju. Imam jako komplikovanu aplikaciju sa ogromnim, medjusobno povezanim parent-child grafovima i zanima me da li se i kada reference oslobadjaju, posto aplikacija radi 24/7/365.
Potpis
if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.
Re: Alat za analizu zauzetih referenci u tekucoj aplikaciji 09.09.2010. u 21:27 · pre 196 meseci #5
Ako GC moze da ih nadje da ih oslobodi onda sigurno postoje strukture koje to cuvaju, pitanje je samo koji je njihov format i dostupnost (veorvatno mora da se prcka kroz unsafe kod u C++/CLIu). U svakom slucaju tebi treba memory profiler tool. Nije obicaj da se reklamiraju alatke ovde ali posto je ova prilicno jedinstvena predlozio bih ti da je pogledas:

http://www.memprofiler.com/

ima besplatan 14 day trial, sto je meni bilo vise nego dovoljno da dijagnostikujem moj problem.

Tebi treba ovaj view: http://www.memprofiler.com/sna...s.aspx#Types_Resources_Details
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Sviđa mi se1
Re: Alat za analizu zauzetih referenci u tekucoj aplikaciji 09.09.2010. u 22:48 · pre 196 meseci #6
Hvala mmix, to izgleda da je upravo to sto mi treba. Btw. nije reklama kad neko trazi, nego "preporuka" :D

Citat:
lukeguy: Svejedno je za čega ti trebaju, pitanje je isto: "How can I find all objects of a particular type?", a odgovor je dat u blogu.

Nije odgovor dat u blogu, u blogu se analiziraju imaginarne posledice koriscenja imaginarnog metoda Type.GetInstances() na veoma podrugljiv nacin, mislio sam da ili me zayebavas za glupo pitanje ili da nisi shvatio, pri cemu sam uljudno odgovorio na ovo drugo.
Potpis
if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.
Re: Alat za analizu zauzetih referenci u tekucoj aplikaciji 10.09.2010. u 00:14 · pre 196 meseci #7
Pogledaj malo sam profiler, mislim da ima svoj API koji mozes da referenciras iz tvog procesa i onda mozes i iz samog svog programa da kazes profajleru kad da uradi snapshot ako te mrzi da sedis pored progrma i cekas :) Neki tajmer pa na 12h ili slicno.
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme