3

I have an ASP.NET MVC site which I'm debugging on the Local IIS in Visual Studio 2013. With some frequency I get a dialog popup on build as below:

Intellitrace is not available because another application is profiling on the Web server

Intellitrace is not available because another application is profiling on the Web server

If I select "no" then the build is aborted and if I select yes then I cant use Intellisense on breakpoints. What is causing this?

Shutting down all instances of Visual Studio, stopping the application pool and web server and then restarting all of them again does not solve this problem. Neither does rebooting.

If i watch the details panel of Task Manager I can only see one instance of w3wp.exe which disappears after i stop the application pool, so I assume whatever has it's hooks into the profiling is not doing so via the worker process which in my mind is how VS is attaching itself for debugging.

There are no other apps on the web server and I have no custom WMI in play on this machine. If I view the Performance Explorer panel in VS, it is empty and if i select the attach/detach action then in the resulting window "Attach Profiler to Process", if i sort by the Attached column I can see nothing is attached to anything.

Where should I be looking for the source of this problem?

Mark Cidade
  • 98,437
  • 31
  • 224
  • 236
rism
  • 11,932
  • 16
  • 76
  • 116

1 Answers1

1

So the issue was that the ApplicationPool assigned to the website had the same name as the website. i.e. website name contoso and application pool named contoso.

I don't know for sure why this is an issue or where things break but will concede it was bad (hurried) naming practice.

You can have an app pool containing the website name i.e. contosoAnythingElseHere and IntelliTrace will work but if the two strings are exactly the same you will eventually get an IntelliTrace lock out described in my question or a variation on that error message about another application already "recording".

Aside from my admittedly poor naming practise I'm willing to bet it's a bug in IntelliTrace deriving from lack of strong typing.

My theory would be that somewhere along the way a filter of some kind is using only the AppPool name as type string rather than looking up a type of AppPool with name = contoso.

Since both the site and the AppPool have the same name, something somewhere is perhaps getting confused about some kind of lock. Whereas if they were properly typed it shouldn't matter if they have the same name.

If anyone has a better idea or can set me straight I'm all ears but as above proper naming practise obviates the need for any further discussion.

rism
  • 11,932
  • 16
  • 76
  • 116