Hi, All
What's is the best .net profiler for Debug an application. I have to buy one
but I don't know which one!!
I tried some of them like Borland and AQTime.
My big problem is, my application is a big application, and many times I
have many EventHandlers associated to an object, then this object never is
free from the memory.
AQTime for .Net can tell me how many references of EventHandler the object
has. But it can't tell me who create this reference.
So for fix it is a pain in the a... because I have to see line by line in my
code to may be know who can create this reference.
Borland so far is not usefull for nothing... Expensive and doesn't provide
nothing for debug, just to see the application performace that's it
Then the question is, there are some .Net profiler that can tell me who
create the references to the EventHandlers? if there are not profiler to do
that. How can I fix it with out look line by line in my code.
Thanks,
Gustavo.
K_Lee - 19 Oct 2003 07:22 GMT
If you have to build a profiler customize for your application
you can start from this link to the SSCLI profiler core source
code.
http://www.slink-software.com/W/SrcDoc_Top/sscli/sscli.sdoc/N_36
It is not a bad place to start understand the CLI profiler hooks and
its potential too.
sscli.sdoc
BuildInfo
Source Code Roadmap:
App Domain
Marshaler
Profiler
ProfToEEInterface - proftoeeinterfaceimpl.h:34
CorProfInfo - profile.h:64
ICorProfilerInfo - corprof.h:1889
CProfilerCallback - profilercallback.h:9
ObjectsAllocatedByClass - profilercallback.cpp:545
> Hi, All
>
[quoted text clipped - 20 lines]
> Thanks,
> Gustavo.
Andreas Suurkuusk - 19 Oct 2003 09:22 GMT
Hi,
Our .NET Memory Profiler gives you information about the callstack of all
allocations, it also tells you which root references are keeping an instance
from being garbage collected. I think it will help you solve your problem. A
trial version can be downloaded at: http://www.scitech.se/memprofiler
Best regards,
Andreas Suurkuusk
SciTech Software AB
> Hi, All
>
[quoted text clipped - 20 lines]
> Thanks,
> Gustavo.
Franco Gustavo - 20 Oct 2003 00:18 GMT
Hi, I tried your profiler but it only show the call stack who created the
object, it doesn't show any information about the delegates associated to
this object, so I dispose and make the object = null but the object is never
collected and you don't know which reference still are made to this object.
Anyway thanks, I'll keep searching
Gustavo.
> Hi,
>
[quoted text clipped - 35 lines]
> > Thanks,
> > Gustavo.
Andreas Suurkuusk - 20 Oct 2003 07:51 GMT
Hi,
I don't quite understand what information you want. In the current version
we only present the referees of an instance (i.e. other instances that have
references to the selected instance). We do not present the references from
the selected instance (in the upcoming version we present the outgoing
references as well). But if you have an instance that is never collected,
it's only the referees that are responsible for the instance not being
collected. No matter how many other instances the selected instance refers
to, it will not affect garbage collection of this instance (it will however
affect the garbage collection of the instances it references).
The root paths presented for each instance is directly telling you why an
instance has not been collected. If there is at least one root path, then
the instance is reachable and cannot be collected.
Just for your information, there's no need to keep a reference to the event
handler in the event consumer class, since delegates use an equality
comparison (on the method and instance) when removing a delegate (though,
there can be a very small performance gain in keeping a reference to the
event handler).
If you need any additional information, please ask.
Best regards,
Andreas Suurkuusk
SciTech Software AB
> Hi, I tried your profiler but it only show the call stack who created the
> object, it doesn't show any information about the delegates associated to
[quoted text clipped - 49 lines]
> > > Thanks,
> > > Gustavo.
William Ryan - 19 Oct 2003 19:08 GMT
For what it's worth, I've used Ants and really like it. It's easy to use
and packed with useful information.
http://www.red-gate.com/code_profiling.htm
> Hi, All
>
[quoted text clipped - 20 lines]
> Thanks,
> Gustavo.
Franco Gustavo - 20 Oct 2003 00:25 GMT
Very nice tool to test performance, I think I'll buy it for performance
issues, but it is not useful for debugging proposes, it doesn't show
anything about references from delegates.
Thanks,
Gustavo.
> For what it's worth, I've used Ants and really like it. It's easy to use
> and packed with useful information.
[quoted text clipped - 26 lines]
> > Thanks,
> > Gustavo.
Franco Gustavo - 19 Oct 2003 21:07 GMT
Thanks for your answers.
Gustavo.
> Hi, All
>
[quoted text clipped - 20 lines]
> Thanks,
> Gustavo.
NetPointer - 24 Oct 2003 22:36 GMT
Have u checked this??
> Thanks for your answers.
> Gustavo.
[quoted text clipped - 26 lines]
> > Thanks,
> > Gustavo.
NetPointer - 24 Oct 2003 22:36 GMT
Have u checked this??
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/f
astmanagedcode.asp
Regards.
NetPointer
> Thanks for your answers.
> Gustavo.
[quoted text clipped - 26 lines]
> > Thanks,
> > Gustavo.