What version of CLRProfiler are you using? Is the target app using .NET 1.x or 
2.0? In .NET 1.x there were issues in the profiling API that made it difficult 
for a profiler to correctly detect object death, and as a result heuristics had 
to be employed. So if it's .NET 1.x the behavior you see may be as good as it 
gets. :-(

That issue has been fixed in .NET 2.0, so if that's the framework your target 
app is running there may in fact be a bug in CLRProfiler.

In either case, can you send me & Peter a log file demonstrating the behavior?

Thanks,

Jonathan

-----Original Message-----
From: Discussion of advanced .NET topics. [mailto:[EMAIL PROTECTED] On Behalf 
Of Richard Birkby
Sent: Friday, December 09, 2005 2:08 AM
To: [email protected]
Subject: CLR Profiler bug?

I've used the CLR Profiler for many years, including its previous guise as the 
Allocation Profiler. However, recently I've noticed an issue which is either a 
bug or is a misunderstanding on my part of what the information means.

When I profile an application that creates objects >85000 they go into the LOH. 
I can see those objects in the "timeline" view or the "objects by address" view 
(in fact I sometimes see 2 LOH heaps due to the amount of data allocated). 
These objects (mostly byte[]) stay in the LOH according to the timeline until 
the program terminates. However, if I view a Heap Graph mid-way through the 
program's life, I only see objects from the normal heap.
None of the LOH objects are shown.

Therefore, either:

1) A Heap Graph only shows objects from the normal heap and this isn't 
documented anywhere
2) There is a bug in the CLR profiler for the timeline which doesn't show 
cleanup of byte[] in the LOH

Which is it?

Thanks,
Richard

===================================
This list is hosted by DevelopMentor?  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com
elop.com

===================================
This list is hosted by DevelopMentorĀ®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to