How to profile web application startup?
I'm using ReSharper Ultimate 2015.2 (dotTrace 6.2) in VS2015, attempting to profile a .NET 4.6 MVC application. The application has a huge problem on startup, so I need to profile what happens when it begins executing, not after it's already running.
The application is running in IIS express over localhost:64079. (The problem I'm running into is similar if it's on IIS 8 over http://localhost/AppName.) VS2015 is running with Administrator privileges.
Opening the ReSharper, Profile, Profile Application dialog box presents a number of options. Choosing IIS Express seems logical. Choosing the Configuration file option, and selecting the application name, also seems logical. Clicking "Run" with "Start immediately" checked pops up "Waiting for a managed application to start" while the IIS system tray tool shows the application running on the expected port. Navigating to that port throws up an IIS error message: "500.19, configuration data invalid, config error: Cannot read configuration file". Note that the app isn't actually running in the debugger.
Next attempt: Close the profiler dialog, stop the site in the IIS tray tool, put breakpoint on Application_Start method, start application in VS debugger. Breakpoint hit, go to the Profile Application dialog box, select "iisexpress *32" from running processes, click "Run," and VS deadlocks. Specifically, the "Starting profiler" dialog (which is modal) never finishes whatever the progress bar is measuring, and it can't be closed, so there is no way to continue Visual Studio from the breakpoint, and no way to shut down the profiler.
Next attempt. Clear breakpoints, run app, and while it's doing its thing that takes 45 seconds during startup, attempt to connect the profiler to the iisexpress process. Well, that worked, but I can't determine exactly where in the startup process I started profiling.
What am I doing wrong?
Please sign in to leave a comment.
Hello David,
Sorry for the delay in replying. Do I understand correctly that the 'Waiting for a managed application to start' message remains until you close the dotTrace controller window? Have you tried to stop IIS Express manually and after that launch your application under dotTrace?
Kind regards,
Maria