Ein Lob für das Visual-Studio-Debugger-Team

Vor einiger Zeit hatte ich eine Beta von Visual Studio 2012 ausprobiert und versucht, damit unsere C++-basierten Applikationen zu debuggen. Mit VS2005 bis VS2010 hatte das jahrelang prima geklappt. Mit VS2012 hingegen ging es hochkannt schief: Der Versuch, die Applikation zu starten, führte zu einem Total-Crash von VS2012 selbst, noch bevor die erste Zeile unseres Programm-Codes überhaupt zur Ausführung kam. Mehr oder weniger das selbe Phänomen bei einem Attach to process: Unser EXE war toxisch, bei der ersten Berührung damit fiel VS2012 tot um.

Als sich das auch mit der RTM-Version von VS2012 nicht geändert hatte, und weit und breit keine gute Idee zu sehen war, was der Grund sein könnte für das Problem, wurde ich langsam nervös und rang mich dazu durch, bei Microsoft Hilfe zu suchen, obwohl ich recht skeptisch war: Würde sich ein Weltkonzern wie Microsoft interessieren für ein Problem einer kleinen IT-Bude in der Schweiz?

Ich machte also ein Posting im Forum des Visual Studio Developer Center. Das Resultat war mittelprächtig: Ein Microsoft-Mitarbeiter, der da wohl so etwas wie „Dienst tut“, schaute sich die Sache an, war aber bald mit seinem Latein am Ende, und machte schliesslich den Vorschlag, ich solle direkt einen Bug-Report erstellen, auf connect.microsoft.com.

Das tat ich auch – den Bug Report find man hier – und wartete gespannt, wie es weitergehen würde.

Das Resultat übertraf meine Erwartungen deutlich: Nach nur etwa 2 Wochen hatte jemand im Debugger-Team den Grund für die Crashes gefunden, die Sache für die nächste Version von Visual Studio korrigiert, und erst noch eine Umgehungs-Lösung geliefert, wie es auch mit dem bestehenden VS2012 klappt.

Allein diese Umgehungslösung ist sehr interessant: Offenbar hat Microsoft, ohne das an die grosse Glocke zu hängen, wesentliche Teile der „debugging engine“ für die 2012er-Version von Visual Studio überarbeitet, und es war dieser neue Code, welcher an einer Seltsamkeit in den VERSIONINFO-Daten in unserem EXE gar keine Freude hatte. Es gibt einen Trick, wie man die „legacy debug engine“ aktivieren kann, den alten Code, welcher damit klarkommt und der noch da ist: Man schaltet die Option Enable Edit and Continue in den Debugging-Options ein:

Legacy Debugger

Legacy Debugger aktivieren

Das ganze war für mich ein voller Erfolg. Auch wenn es natürlich keinerlei Garantien auf Erfolg gibt, möchte ich doch jeden ermuntern, der ein ernstes Problem hat mit Visual Studio, den Weg über einen Bug-Report auch zu versuchen. Es kann sein, dass man erhört wird.

Veröffentlicht in Keine Kategorie. Schlagwörter: , . Leave a Comment »

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: