Hi Lei,
class[] means an array of some type of class. The
CLRProfiler only outputs this if it's unable to obtain
more precise type information.
There is a bug in the public download version of
CLRProfiler that causes this to happen with certain
versions of the .NET framework, I think starting with
Whidbey.
There is a pretty simple way to fix this in the source
code that's publicly available. Go to the "ProfilerObj"
subdirectory in the source code, load
the "ProfilerCallback.cpp" source file. Go to line 3998.
You should be inside method
ProfilerCallback::_InsertGCClass and positioned close to
this source code:
//
// before you break set the realClassID to the
value that it was before the
// last unsuccessful call
//
if ( realClassID != NULL ) // <- line 3998
realClassID = prevClassID;
Now just comment out or delete line 3998, preserving the
body of the if:
//
// before you break set the realClassID to the
value that it was before the
// last unsuccessful call
//
// if ( realClassID != NULL ) // <- line 3998
realClassID = prevClassID;
Rebuild. This should fix the problem. Note that the issue
concerns the log file generation, so old log files will
still show "class[]".
This posting is provided "AS IS" with no warranties, and
confers no rights.
Please do not send e-mail directly to this alias. This
alias is for newsgroup purposes only.
Thanks
Peter
[quoted text, click to view] >-----Original Message-----
>I download the CLR profiler and run it. It's great and
the documentation is
>very good. But I don't know what is class[] in graphs.
It appears frequently
>but the document doesn't mention it. Is it the metadata?
>
>Thanks!
>
>
>
>.