Troubleshooting IIS profiling
Published 14 May 2018
When you click Start Profiling for an ASP.NET or ASP.NET Core web application (IIS), profiling might not start, and a "Cannot start IIS" error might be displayed. This has several possible causes.
The logged-in user has insufficient account permissions to run the web application
ANTS Performance Profiler starts the IIS application pool with permissions inherited from the currently logged-in user account, rather than using the IIS application settings.
To fix this issue:
- If possible, run ANTS Performance Profiler as an administrator
- If you can't run ANTS Performance Profiler as an administrator, grant the logged-in user account permissions to access the IIS configuration system and write to the ASP.NET temporary files.
For more information on how to do this, see Assign ASP.NET Permissions to the New Account (MSDN)
Manually specifying the ASP.NET account
The error may also occur when using "Manually specify ASP.NET account details". Check that the specified account is a valid user, has administrator privileges, and has read access to %ProgramFiles%\Red Gate\ANTS Performance Profiler 10\RedGate.ProfilerCore.dll and %ProgramFiles%\Red Gate\ANTS Performance Profiler 10\X64\RedGate.ProfilerCore.dll
IIS can't resolve the web application's URL
If the bindings in IIS have been changed from the default, ANTS Performance Profiler may be unable to resolve your site's hostname. This error message may be shown:
Couldn't determine the IIS Site associated with URL 'http://< URL>:port'. Please check that the URL is serviced by the instance of IIS running on this machine.
To fix this issue:
- On the settings screen, from the list of application types, select IIS - ASP.NET.
- In the URL for ASP.NET web application field, enter localhost or the loopback IP address (127.0.0.1).
- Try to profile your application again.
Some assemblies don't show line-level timings
This is usually caused by enabling line-level timings with code using the SecurityTransparent attribute. For more information, see Profiling SecurityTransparent and partially-trusted assemblies.
ANTS Performance Profiler encounters a conflict with another performance profiler installed on your computer
IIS can fail to start if ANTS Performance Profiler encounters a conflict with another performance profiler. We recommend uninstalling other profilers while profiling with ANTS Performance Profiler. You can tell if another product is profiling IIS using the free Microsoft Process Explorer (download here):
- Close down all instances of ANTS Performance Profiler running on your machine.
- Open Process Explorer, and look for the IIS user mode worker process (w3wp.exe).
- Right click on the process, click Properties and then click the Environment tab.
- Look for the COR_ENABLE_PROFILING and COR_PROFILER values. If these are present, another product is profiling IIS.
If you had ANTS Performance Profiler version 7.0 and installed the early access build of the continuous profiling tool, an IIS module installed by the continuous profiler may be preventing profiling. To re-enable other profilers with IIS, uninstall the IIS Profiler Module:
- From your computer's Start menu, launch the Continuous Profiling Configuration Tool.
- Click Uninstall.
Your application has bindings other than HTTP/HTTPS
If your web application has bindings to protocols other than HTTP or HTTPS (for example if your application has a binding to net.tcp or net.msmq), you will get a 'Cannot start IIS' error when you start profiling.
To profile your application, remove the other bindings in IIS.
Contacting Redgate support
If you still can't fix your problem using the information in this topic, please contact support, and supply as much information as you can, including:
- the versions of IIS and ANTS Performance Profiler you are using
- your computer's operating system
- the steps you have already tried
- any error messages ANTS Performance Profiler has generated, including any in the log files