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
