Laden...

Debugger macht Anwendung kriechend lahm

Erstellt von Sebastian1989101 vor 3 Jahren Letzter Beitrag vor 3 Jahren 319 Views
Sebastian1989101 Themenstarter:in
241 Beiträge seit 2010
vor 3 Jahren
Debugger macht Anwendung kriechend lahm

Nachdem ich diverse Stunden nun damit zugebracht habe die Ursache zu finden, warum meine App im Android Emulator extrem langsam ist, kam ich zur Erkenntnis dass es am Debugger vom VS2019 16.9.x liegen muss. Ich hatte dummerweise gerade mein neues System in Betrieb genommen als dieses Update raus kam und ging bisher davon aus, dass ich dort irgendwas falsch gemacht haben muss. Als dann aber meine Kollegen die selben Probleme nach ein Update bekamen, hatte ich VS2019 auf mein altes System ebenfalls aktualisiert und siehe da, die gleichen Probleme mit mal. Zuvor ging ich davon aus, dass es einfach ein Problem mit den AMD Prozessor ist, da dieser anders als mein PC zuvor kein HAXM zur Beschleunigung des Emulators nutzt. Aber da die Probleme ja verschwinden, sobald der Debugger nicht mehr drauf ist, gehe ich nicht mehr davon aus.

Und zwar laufen meine Apps sobald der Debugger attached ist extrem langsam und laggy. Egal ob Emulator oder echtes Gerät. Sobald der Debugger nicht mehr dran ist, läuft es super. Auch crasht das debugging seitdem oft (debugging wird abrupt beendet ohne jegliche Meldung oder Aktion meinerseits, selbst im Leerlauf). Was mir auffiel, ist dass seit dem Update auch im Output Fenster diverse Meldungen auftauchen, die vorher definitiv im Leerlauf nicht gespamt wurden (nun taucht dieser Block ca. 1-3x pro Sekunde im Output auf). Und zwar diese:

[Mono] GC_TAR_BRIDGE bridges 0 objects 0 opaque 0 colors 0 colors-bridged 0 colors-visible 484 xref 7 cache-hit 0 cache-semihit 0 cache-miss 0 setup 0.06ms tarjan 0.76ms scc-setup 0.08ms gather-xref 0.01ms xref-setup 0.01ms cleanup 0.01ms
[Mono] GC_BRIDGE: Complete, was running for 1.67ms
[Mono] GC_MINOR: (Nursery full) time 24.40ms, stw 26.77ms promoted 1277K major size: 613072K in use: 597114K los size: 209220K in use: 203376K

Was kann ich jetzt noch tun und welche Möglichkeiten hätte ich noch das zu beheben? Da der GC immer wieder eingreifen will, gehe ich davon aus das er mehr Memory benötigt, aber das macht für mich wenig Sinn, dass dies nach ein VS2019 Update entsteht bzw. durch nicht debuggen behoben ist.

WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung

C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog

16.827 Beiträge seit 2008
vor 3 Jahren

Wenn Du Dir sicher bist, dass es am VS Update liegt, dann mach auf dem Visual Studio Feedback Portal nen Issue auf und häng nen Dump an.
Bekommst innerhalb weniger Stunden direktes Feedback vom VS Team.
https://developercommunity.visualstudio.com/search?space=8

Ansonsten ist es ganz normal, dass eine Anwendung mit Debugger langsam ist.
Das Forum hier ist ca. 80% langsamer bei der lokalen Entwicklung, wenn der Debugger aktiv ist.

Sebastian1989101 Themenstarter:in
241 Beiträge seit 2010
vor 3 Jahren

Das es langsamer ist, ist ja das eine. Aber in dem Fall ist es mit Debugger bei maximal noch 5% der Performance von vorher, eher weniger. Und das war vor dem VS Update definitiv nicht so. Auch die nun im Leerlauf auftretenden GC Meldungen erscheinen mir merkwürdig den auch diese waren vorher nicht dort. Aber was genau meinst du mit Dump? Den Output Log? Oder die Info im About Menü?

WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung

C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog

16.827 Beiträge seit 2008
vor 3 Jahren

Wenn Du in Visual Studio ein Report erzeugst, dann kannst Du auch einen Dump erzeugen.
Dazu startest Du aus Visual Studio eine neue Visual Studio Instanz, die dann über ein Capture aufgenommen und ein Dump erzeugt wird.

-> Visual Studio ohne Solution/Projekt starten
-> Oben Rechts auf "Send Feedback" -> Report a Problem
-> Es öffnet sich ein Browser, wo Du Dein Problem beschreiben kannst; unten klickst auf Record your Actions -> Create new Visual Studio Instance

Auch kannst Du mal prüfen, ob der Performance Issue von ner Extension kommt - durchaus oft der Fall.

Sebastian1989101 Themenstarter:in
241 Beiträge seit 2010
vor 3 Jahren

Danke für den Hinweis, das mit dem Recording kannte ich noch gar nicht. Mal sehen ob ich auf diesen Wege die Ursache finden kann oder zumindest Microsoft in der Lage ist Bugs durch Updates auch wieder auszuräumen.

WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung

C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog