Gestern habe ich mal ein schon vor längerer Zeit begonnenes Projekt wieder rausgekramt und ein bisschen auf Vordermann gebracht. Vor allem im Hinblick auf die vielen Anregungen, die ich bisher in diesem Forum gesammelt habe, waren doch ein paar Änderungen und Umstrukturierungen notwendig. Das Projekt selbst hatte ich ursprünglich mit VS 2008 begonnen und irgendwann in den letzten 18 Monaten nach VS 2010 migriert.
Vor ein paar Wochen schon ist mit im Zusammenhang mit diesem Projekt allerdings etwas aufgefallen, dem ich damals zunächst nicht allzu viel Besachtung schenkte, gestern aber habe ich es als extrem störend empfunden: Beim Debuggen wurde mir der Inhalt lokaler Variablen zum Verrecken nicht angezeigt. Das von mir oft genutzte und geschätzte MouseOver über die Namen lokaler Variablen im Quelltext während des Debuggens brachte keinerlei Reaktion, und der Versuch, eine solche Variable im Überwachungsfenster oder im Direktfenster anzeigen zu lassen, resultierte in der Meldung, das Element sei nicht deklariert, ggf. würde die Schutzstufe den Zugriff darauf verhindern.
Membervariablen hingegen waren keinerlei Problem. Nur die innerhalb der Methoden deklarierten Variablen zickten derart herum. Eine vernünftige Fehlersuche oder Kontrolle des Ablaufs war mir so einfach nicht möglich.
Ich suchte in den Projekteinstellungen, in den VS-Optionen, ob vielleicht irgendeine versehentlich aktivierte oder deaktivierte Einstellung für dieses Verhalten verantwortlich war - ohne Ergebnis.
Witzigerweise war dieses Problem in dem anderen Projekt derselben(!) Projektmappe nicht existent. Also: Windows-Forms-Anwendung: kein Zugriff auf lokale Variablen durch den Debugger möglich, Klassenbibliothek in derselben Solution: alles normal. Das Programm selbst funktionierte - also auch keine Laufzeitfehler weil Variablen nicht deklariert wären oder sowas.
Zur Probe fügte ich der Solution eine weitere Windows-Form-Anwendung hinzu, bei der ich probeweise nur im Form.Load-Event eine lokale Variable deklarierte und per Haltepunkt prüfte, ob der Debugger mir ihren Inhalt anzeigen kann. Das war ebenfalls kein Problem.
Nun, am Ende habe ich das Problem "beheben" können, auch wenn die Ursache dafür mir bis jetzt vollkommen unbekannt ist. Gelöst habe ich es, indem ich das fragliche Projekt in ein anderes Verzeichnis verschoben, an der ursprünglichen Stelle ein komplett neues und frisches Windows-Forms-Projekt anlegte und alle Quellcode-Dateien aus dem verschobenen Verzeichnis dem neuen Projekt hinzugefügt habe.
Und tatsächlich: Ich habe keinerlei Code geändert, schließlich auch alle anderen Projekt-Einstellungen manuell so angepasst, dass sie denen des bisherigen Projekts entsprachen (zumindest soweit ich aus dem UI von VS Zugriff darauf hatte), und fortan hatte ich beim Debuggen auch keinerlei Probleme mehr, mir lokale Variablen anzeigen zu lassen.
Bleibt nur eine Kleinigkeit, weswegen ich schließlich hier poste: Was war die Ursache? Was kann dafür verantwortlich sein, wenn Visual Studio beim Debuggen lokale Variablen nicht anzeigen kann?
Vor ein paar Wochen schon ist mit im Zusammenhang mit diesem Projekt allerdings etwas aufgefallen, dem ich damals zunächst nicht allzu viel Besachtung schenkte, gestern aber habe ich es als extrem störend empfunden: Beim Debuggen wurde mir der Inhalt lokaler Variablen zum Verrecken nicht angezeigt. Das von mir oft genutzte und geschätzte MouseOver über die Namen lokaler Variablen im Quelltext während des Debuggens brachte keinerlei Reaktion, und der Versuch, eine solche Variable im Überwachungsfenster oder im Direktfenster anzeigen zu lassen, resultierte in der Meldung, das Element sei nicht deklariert, ggf. würde die Schutzstufe den Zugriff darauf verhindern.
Membervariablen hingegen waren keinerlei Problem. Nur die innerhalb der Methoden deklarierten Variablen zickten derart herum. Eine vernünftige Fehlersuche oder Kontrolle des Ablaufs war mir so einfach nicht möglich.
Ich suchte in den Projekteinstellungen, in den VS-Optionen, ob vielleicht irgendeine versehentlich aktivierte oder deaktivierte Einstellung für dieses Verhalten verantwortlich war - ohne Ergebnis.
Witzigerweise war dieses Problem in dem anderen Projekt derselben(!) Projektmappe nicht existent. Also: Windows-Forms-Anwendung: kein Zugriff auf lokale Variablen durch den Debugger möglich, Klassenbibliothek in derselben Solution: alles normal. Das Programm selbst funktionierte - also auch keine Laufzeitfehler weil Variablen nicht deklariert wären oder sowas.
Zur Probe fügte ich der Solution eine weitere Windows-Form-Anwendung hinzu, bei der ich probeweise nur im Form.Load-Event eine lokale Variable deklarierte und per Haltepunkt prüfte, ob der Debugger mir ihren Inhalt anzeigen kann. Das war ebenfalls kein Problem.
Nun, am Ende habe ich das Problem "beheben" können, auch wenn die Ursache dafür mir bis jetzt vollkommen unbekannt ist. Gelöst habe ich es, indem ich das fragliche Projekt in ein anderes Verzeichnis verschoben, an der ursprünglichen Stelle ein komplett neues und frisches Windows-Forms-Projekt anlegte und alle Quellcode-Dateien aus dem verschobenen Verzeichnis dem neuen Projekt hinzugefügt habe.
Und tatsächlich: Ich habe keinerlei Code geändert, schließlich auch alle anderen Projekt-Einstellungen manuell so angepasst, dass sie denen des bisherigen Projekts entsprachen (zumindest soweit ich aus dem UI von VS Zugriff darauf hatte), und fortan hatte ich beim Debuggen auch keinerlei Probleme mehr, mir lokale Variablen anzeigen zu lassen.
Bleibt nur eine Kleinigkeit, weswegen ich schließlich hier poste: Was war die Ursache? Was kann dafür verantwortlich sein, wenn Visual Studio beim Debuggen lokale Variablen nicht anzeigen kann?
Weltherrschaft erlangen: 1%
Ist dein Problem erledigt? -> Dann markiere das Thema bitte entsprechend.
Waren Beiträge dieser Diskussion dabei hilfreich? -> Dann klick dort jeweils auf den Hilfreich-Button.
Danke.
Waren Beiträge dieser Diskussion dabei hilfreich? -> Dann klick dort jeweils auf den Hilfreich-Button.
Danke.