Ich versuche, eine ASP.NET-Webanwendung von Visual Studio 2013 mit IIS 7.5 unter Windows 7 zu debuggen. Der Debugging-Prozess ist extrem langsam und dauert etwa 60-90 Sekunden pro Seite. Ich habe bemerkt, dass MSVSMON.EXE (Visual Studio Remote-Debugging-Monitor) während des Ladens einer Seite auf 25-30% CPU auf meinem Quad Core-Computer bleibt, und ich vermute, dass dies der Übeltäter ist.
Auf einem anderen PC mit Windows 8 und IIS 8.5 ist das Debuggen viel, viel schneller mit fast bedeutungsloser MSVSMON-Verwendung. Ich habe versucht, jede einzelne Debugging-Einstellungen für Visual Studio und IIS für die ehemalige Maschine zu imitieren, aber das Debugging ist immer noch sehr langsam und MSVSMON Stills erreicht hohe CPU-Auslastung.
Warum ist das so? Was kann ich tun, um mein Problem zu lösen und die CPU-Auslastung zu reduzieren?
Ich habe das erlebt, als ich einen bedingten Haltepunkt in Code gesetzt habe, der häufig ausgeführt wurde. Der Versuch, den Debugger anzuhalten, führte einfach dazu, dass Visual Studio ... nichts tat (außer die Menüoption Pause auszublenden).
Visual Studio Remote Debugging Monitor benötigte etwa 30% CPU auf einem Quad-Core-System.
Durch das Entfernen des bedingten Haltepunkts wurde das Problem behoben.
Debuggen Sie die gleiche Anwendung auf beiden Rechnern? Wenn nicht, ist eine Sache zu überprüfen, wie viele Ausnahmen mit der II7.5 / Windows 7-Anwendung im Vergleich zu der Win8 IIS 8.5-Anwendung geworfen werden - der Debugger macht eine Menge Arbeit für jede Ausnahme, so hat eine Lupeneffekt auf die langsame -down.
Wenn das das Problem ist, können Sie versuchen, Debugging- & gt; output windows- & gt; -Ausnahme Meldungen zu deaktivieren, die einigen helfen sollten. Natürlich, wenn Sie eine Anwendung haben, die genügend Ausnahmen auslöst, um diese Art von Verlangsamung zu verursachen, und Sie die Fähigkeit haben, den Code zu überarbeiten, um die Anzahl von Ausnahmen zu reduzieren, die in nicht-außergewöhnlichen Umständen geworfen werden, würde das auch helfen .
Wenn Sie dies versäumen, können Sie versuchen, alle Ausgabeeinstellungen und IntelliTrace auszuschalten, da all diese Dinge die Leistung beeinträchtigen. Wenn dies das Problem löst, können Sie sie nacheinander aktivieren, um herauszufinden, wo der Täter ist - selbst wenn Sie sind identische Anwendungen genug Änderungen unter der Haube zwischen der Version, die die Ereignisse, die der Debugger zu handhaben hat, wesentlich anders sein kann.
HTH
Diese Lösung (Credits zu David W Gray) verdient eine separate Antwort.
Deaktivieren Sie IntelliTrace ( Debug => IntelliTrace => Open IntelliTrace Settings...
)
Tags und Links asp.net iis visual-studio debugging