Reputation: 31733
I own the Ants Profiler 4 which is great for performance / memory profiling.
Unfortunately it only works on the local machine and I cannot attach to a running process. But I have a memory leak that only seems to occure on our production server. A windows console app written in vb.net runs fine with constant memory usage for several days and then suddenly starts consuming all the available memory 'til within 24 hours.
Is there a way to collect some data from the running process and inspect it?
Upvotes: 3
Views: 4280
Reputation: 14548
The two big .NET commercial profilers - ANTS and dotTrace - as of this writing still do not support remote profiling of memory allocations. Sad face.
I'm researching this issue myself, and am currently looking at two options. First is Microsoft's CLR Profiler:
http://clrprofiler.codeplex.com/
While this does not support remote profiling, it does have full source. I don't think it would be too much work to add some command line options to it that let you tell it to attach to a process, grab a memory snapshot and send to disk, then detach. Use Powershell to remote execute it on the live server, and then I can analyze the snapshot at my leisure on my desktop.
The other option I'm considering is grabbing a minidump off the live app and using sos to run reports of the memory being used. Note that the minidump unfortunately cannot be done with procdump -r due to this bug, must do a full frozen dump.
Nontrivial work either way and I'm just getting started, but I have yet to find a better solution.
Upvotes: 3
Reputation: 381
Upgrade to the latest version (6.0). That has support for Attach to Process, which is, I think, what you're after!
Upvotes: -1