What I've got is a native windows service that loads a mixed mode CLI\C++ dll on demand when a specific 'job' is run. So what I want to do is profile that service inbetween jobs and during jobs.
The problem is that the MemProfiler hangs waiting for notification that the profiled service has started. The services control panel applet indicates the service has started but the MemProfiler is still showing the dialog with the progress bar saying "waiting for profiled process to start".
Now I guessing that the MemProfiler is waiting for notification that the CLR has been loaded, but I might be wrong on that. I did attach WinDbg to it to see what it was waiting for but I couldn't see anything obvious. I can get you a dumpfile if you're interested.
So is this not supported? Could it be added in the future if not? It would be good if the MemProfiler gave an error when attempting this operation rather than hanging, yes I know it does say .NET windows service in the doc but this service will contain .NET code just not when it initially starts up.
Future versions of the profiler will connect to the profiled process directly when it's started by the profiler (e.g. when using the "Profile Application" command). It's a bit more problematic with services, since the profiler doesn't actually start the service process, it just requests the service to start. But I think we will come up with a solution for this as well.
In the meantime (for v3.5) we will probably just change the text to "Waiting for the .NET runtime to be loaded". We cannot give an error message, because, as you mention, the .NET runtime might become loaded eventually.
SciTech Software AB
Users browsing this forum: No registered users and 30 guests