Vra

Ek wil graag om te gebruik iets soos CLR Profiele op .Net 2.0 om te sien watter voorwerpe is neem meer ruimte in die hoop op enige gegewe tyd (van'n ASP.Net werker proses).

Egter, die CLR Profiler net laat my BEGIN'n app, nie heg aan'n bestaande een.Ek neem aan dit is omdat dit voorbeeld van toekennings en GC ook, maar ek is nie baie geïnteresseerd in dit.Ek wil net iets wat neem'n momentopname van die huidige stand van die hoop, en wys my wat is daar en hoeveel voorwerpe van elke soort is daar, en hoeveel grepe totale is wat gebruik word deur elke voorwerp tipe.

Enige idees?

Was dit nuttig?

Oplossing

Net Memory Profiler is presies wat jy nodig het. Dit is nie gratis, maar daar is 'n proef weergawe. Eintlik het ek gebruik die verhoor tot lekkasies op ons laaste projek vind. Een noemenswaardige funksie is:

  

Maklik te identifiseer geheue lekkasies deur   versamel en te vergelyk foto's van   NET geheue

Ek dink dit is wat jou soek.

Ander wenke

  • Heg'n debugger

cdb -p

  • laai .netto toolbar uitbreidings

.loadby sos mscorwks

  • stort die hoop in'n formaat van die CLRProfiler verstaan

!TraverseHeap heap.txt

  • los debugger

qd

  • laai heap.txt in die clrprofiler app

Hierdie artikel van MSDN praat oor hoe om die gratis gebruik CLR Profiler te vergelyk met gevalle van die stapel. Jy is reg dat jy nie op die oomblik kan heg CLR Profiler om 'n lopende proses (die artikel verduidelik hoekom), maar, vir wat dit werd is, dit klink asof jy in staat sal wees om gou.

Het jy al gekyk na RedGates NET Profiler?

Dit is 'n rukkie sedert ek gebruik dit, maar ek is faily seker jy kan heg aan enige CLR proses te alle tye.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top