| 

.NET C# Java Javascript Exception

5
Hi,
wir (unser Entwicklerteam) haben fast alle das gleiche Problem mit VS2010 (sp1):
Der Debugger hält an einem zuvor gesetzen Breakpoint an (c# Quellcode, winforms), nun schaut man mittels QuickWatch etc. die Variablen an oder wartet auch nur ein kurze Zeit und möchte dann mittels "step over" einen Befehl weiter gehen. Dann wird in fast 50% der Fälle kein "step over" ausgeführt, sondern der Befehl "run", sodass man aus dem aktuellen Debug-Kontext rausfliegt.
Dieses Problem macht ein ordentliches Debuggen an manchen Stellen fast unmöglich.

Hat jemand dasselbe Problem und vielleicht auch schon eine Lösung oder Workaround?

Grüße,
Christian
06.09.2011
christiansei 51 3
4 Antworten
3
Ist das eine multihtreaded Anwendung, in der zum Zeitpunkt des Debuggens mindestens 2 Threads laufen? In diesem Zusammenhang treten bei uns auch vermehrt solche Effekte auf. Nur eine Vermutung, aber vielleicht hilfts weiter.

EDIT: Versuch mal folgendes:
Im VisualStudio (hab hier grad ne deutsche Version) unter Debuggen->Fenster->Threads aufrufen.
Damit hast Du ein neues Panel "Threads", das alle laufenden Threads auflistet. Dort kann man auch alle CallStacks ansehen, etc... Man kann dort aber auch einige Threads selektieren und sie fixieren (das ist so ein kleines Symbol mit nem Pause-Zeichen || ). Damit kannst Du z.B. nur den Thread aktiviert lassen, den Du gerade debuggen willst, alle anderen fixieren. Wait/Join Situation musst Du halt dann über selektive Freigabe einzelner Threads manuell steuern. Vielleicht habt Ihr damit Erfolg.

EDIT 2: Hab eben eine VS Extension (kann man über den VS ExtensionManager installieren) entdeckt, die einem die Arbeit mit dem Thread-Toolwindow wohl abnimmt. Habs nicht getestet, klingt aber zumindest nach ein bisschen Arbeitsersparnis.
Viel Erfolg,
Florian
06.09.2011
ffordermaier 8,4k 3 9
Hab noch was gefunden, siehe Edit meines Beitrags.
ffordermaier 06.09.2011
das muss ich mal versuchen. Wobei das nur teilweise möglich ist: Ein paar Threads muss ich laufen lassen, da sie periodisch was abarbeiten müssen, sonst werden z.b. Clients abgemeldet.

Aber danke für den Tipp!
christiansei 08.09.2011
Falls auch noch für andere interessant: Die Arbeit mit dem Thread-Window nimmt einem eine VS Extension ab.
ffordermaier 13.09.2011
Sorry, Link siehe Post.
ffordermaier 13.09.2011
0
Also eine Lösung gibt es schon.
Du könntest einfach in der nächsten Zeile einen Breakpoint setzen und dann bleibt er dir dort schon stehen.
Aber das ist auch nur für den Notfall geeignet denn damit wird man ziemlich schnell verrückt da es so umständlich ist.

Gruß
Michael
06.09.2011
michlG 1,7k 1 5
0
ja wir haben fast zu jedem Zeitpunkt mehrere Threads laufen. Das war auch schon unsere Vermutung. Leider können und wollen wir das aber natürlich nicht ändern, nur damit VS das Debugging richtig hin bekommt :-)

Wir haben auch schon seit über einem Jahr bei Microsoft ein Bug Ticket geöffnet, das scheinbar mit dem Sp1 gelöst sein soll. Aber das kann ich nicht glauben.
Mich wundert es nur, dass sich nicht viel mehr Benutzer über dieses gravierende Problem stören.

Wäre vielleicht nicht schlecht, wenn das Ticket wieder ein bisschen Aufmerksamkeit erregt, vielleicht wird es dann mal wieder beachtet bei MS.
Hier der Link, damit der ein odere andere den Bug als "reproduzierbar" anklickt:
"https://connect.microsoft.com/VisualStudio/feedback/details/663614/debugger-randomly-treats-step-into-and-step-over-as-run-to-completion"

Christian
06.09.2011
christiansei 51 3
Bitte benutze für solche Anmerkungen die Kommentarfunktion. Es ist dann viel leichter, den Zusammenhang herzustellen zwischen Deinem Text und dem, auf den er sich bezieht. Wenn Antworten bewertet werden, ändert sich auch noch die Sortierung der Beiträge, dann wird es noch unübersichtlicher. Antworten sollen hier nur Antworten auf die ursprüngliche Frage sein, nicht Antworten auf andere Antworten.
Matthias Hlawatsch 06.09.2011
0
@Michael - das mit dem Breakpoint habe ich auch schon gelesen und probiert. Leider funktioniert das auch nur bedingt und ist - wie du sagst - fast unmöglich in längeren Funktionen.

Christian
06.09.2011
christiansei 51 3
Bitte benutze für solche Anmerkungen die Kommentarfunktion.
Matthias Hlawatsch 06.09.2011

Stelle deine Visual-studio-2010-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH