Muarl
Muarl

Reputation: 1987

VS 2017 - Very slow (laggy) when debugging

When I debug my solution, vs 2017 is very laggy and slow it's like it has to operate something heavy in the background.

So it stops "responding" every 5 seconds for 2 seconds, which is very annoying. Any suggestions?

EDIT (tried suggestions):

Upvotes: 82

Views: 48605

Answers (17)

Denis G. Labrecque
Denis G. Labrecque

Reputation: 1291

This may be due to many exceptions occuring in your C# application. Experiment with Tools > Options > Debugging > General > Enable Just My Code. Check whether there are many exceptions being logged in the Output window.

According to the article Make Debugging Faster with Visual Studio,

When debugging managed (.NET) code, every time an exception occurs, regardless of whether it is handled or not, the target application is paused (just like it hit a breakpoint) so the runtime can notify the debugger that an exception occurred. This is so the debugger can stop if you have the debugger set to break on the first chance exceptions, if not, the application is resumed. This means that if a significant number of exceptions occur it will significantly slow down how fast the application can execute.

You can tell if a large number of exceptions are occurring by looking in the Output window. If you see a lot of “A first chance exception of type…” or “Exception thrown…” messages in the Window this is likely your problem.

To diagnose this potential issue, you may need to disable “Just My Code”, as when it is enabled the first chance exception messages do not appear for exceptions occurring in “external code” but the notification overhead is still present. Once you’ve diagnosed whether first chance exceptions are your issue (or not), remember to turn on again “Just My Code” for all the other good reasons.

Enabling Just My Code allowed me to break on exceptions that were triggering in my application and fix them. After fixing just two exceptions, my application is running smoothly in Debug.

Upvotes: 0

Fred
Fred

Reputation: 309

In my case I had a break point with a condition that was never met. I had forgotten about about this break point altogether. Sometimes adding a simple condition to a break point can slow down the debugging speed a lot.

Just adding this in case it might help someone.

Upvotes: 0

bars222
bars222

Reputation: 1660

I also had this problem, for me helped disabling Enable Edit and Continue options in Tools → Options → Debugging → General.

Upvotes: 1

James Hao
James Hao

Reputation: 905

choosing "Load only specified modules" did the trick (Tools=>Options=>Debugging=>Symbols)

Upvotes: 0

colin lamarre
colin lamarre

Reputation: 1785

I had this problem where the program was running slower if started from visual studio, turned out to be too many threads, like alot of new System.Threading.Thread() in a loop etc. I switched the code to use the ThreadPool instead with Task etc and the slowness went away.

Upvotes: 0

user10750925
user10750925

Reputation: 1

workaround that I used was to run msvcmon.exe locally with admin mode before starting the debugger. Then start the attach window and providing the remote debugging port.

Upvotes: -1

u17
u17

Reputation: 2824

What worked for me was removing all the following folders in the solution's directory:

  • .vs
  • x64
  • Debug
  • Release

Upvotes: 2

Ruslan Muslimov
Ruslan Muslimov

Reputation: 86

Only one thing that helped me was disabling Debugger option of Resharper. If you use Resharper, try to UNCHECK "Show local variables values in editor" in menu: Resharper -> Options -> Tools -> Debugger.

Resharper's Debbuging options

It helped for me.

Upvotes: 3

Jakkrite.R
Jakkrite.R

Reputation: 1

Sometimes it is because of a Realtime scan in Antivirus.

"Add exceptions" Visual Studio files/folders for your Antivirus

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE \ devenv.exe

C: \ Program Files (x86) \ Microsoft Visual Studio \ 201

Upvotes: 0

Muarl
Muarl

Reputation: 1987

After some additional investigation I found this thread Unchecking Enable Diagnostic Tools while debugging in Tools → Options → Debugging → General did the trick!

Unchecking Enable JavaScript debugging for ASP.NET in
Tools → Options → Debugging → General
makes a huge difference in performance.

Upvotes: 98

kmsellers
kmsellers

Reputation: 51

I also experience the lag when "Enable Javascript debugging for ASP.NET (Chrome and IE)" is checked. And Turning off the "Enable Diagnostic Tools while debugging" did not help.

However, I also noticed that when I F12 for Chrome Developer Tools, then lag time goes away and the app performs.

Hope this helps.

Upvotes: 4

George Beier
George Beier

Reputation: 256

I experienced same problem. In debug mode, my webforms project ran very slowly. When using Ctrl+ F5, it ran quickly (as it does when deployed). I found a try/catch block that was executing 45 times. It wasn't doing anything, it was just trapping an error that I had made. I fixed the error and, when removing the try-catch block - voila! -- back to full speed.

So if you're experiencing this problem and you've tried all the solutions above (I did), look for a try catch block that is firing often. [ Fix your error :) ] and then remove the try-catch block. I can't believe the difference it has made. Shouldn't have made any difference at all, of course, since the try-catch block wasn't doing anything, but it did.

Upvotes: 1

Niels Filter
Niels Filter

Reputation: 4528

Hiding the Threads window did the trick for me.

Upvotes: 4

afr0
afr0

Reputation: 888

I have tried disabling few things myself just to see what is causing it. The only thing that did work for me is Tools > Options > Debugging > General > "Enable JavaScript debugging for ASP.NET (Chrome and IE)".

I'm using VS2017 Enterprise v15.2 for Asp.net WebForms.

Upvotes: 14

armadillo.mx
armadillo.mx

Reputation: 1001

If you are using VS 2017 Enterprise edition, try disable IntelliTrace feature (Tools -> Options -> IntelliTrace)

with this feature turned off, the laggy behavior went away even keeping the Diagnostic tools turned on (Tools -> Options -> Debugging -> Enable Diagnostic Tools while debugging)

Upvotes: 0

SliverNinja - MSFT
SliverNinja - MSFT

Reputation: 31641

I gave up getting Debug=>Attach To Process working... even tried ALL the solutions on this SO post (2-pages worth).

Solution

Use ReAttach VS IDE Extension. This bypasses the need to ever use the Attach to Process dialog again if it's a process you've recently attached to.

enter image description here

Upvotes: 0

Lorenzo Ferri
Lorenzo Ferri

Reputation: 149

If disable Diagnostic Tools don't fix the problem try to disable IntelliTrace, Unchecking Enable IntelliTrace, in Tools -> Options -> IntelliTrace. Work for me.

Upvotes: 14

Related Questions