Frage

Ich war das Debuggen in Visual Studio 2010, die wir gerade installiert und versuchen, in einem Wörterbuch in dem schnellen Ãœberwachungsfenster zu suchen. Ich sehe von Schlüsseln und Werten, aber der Graf und nicht-öffentliche Mitglieder, nicht-öffentliche Mitglieder in diesen zeigt das Bohren weiter den Weg und ich nie die Werte im Wörterbuch sehen. Ich kann laufen test.Take (10) und die Werte sehen, aber warum sollte ich das tun müssen. Ich habe nicht VS 2008 installiert mehr zu vergleichen, aber es scheint, dass ich viel einfacher, ein Wörterbuch debuggen können. Warum ist es jetzt auf diese Weise? Ist es nur eine Einstellung, die ich gesetzt irgendwie auf meinem Rechner?

Testcode:

  Dictionary<string, string> test = new Dictionary<string, string>();
    test.Add("a", "b");

EDIT: Ich habe gerade das gleiche Debug in einer Konsole App ausprobiert und es funktioniert wie erwartet. Das andere Projekt ist eine Silverlight 4-Anwendung, warum sind sie anders?

Console Debug Screen Shot

Silverlight 4 Debug Screen Shot :

EDIT: Antwort von Microsoft Connect: „Das war ein Versäumnis unsererseits - wir genau dieses Problem für Visual Studio 2008 SP1 zuvor festgelegt hatten, aber dieses Update wurde leider nicht auf die Visual Studio 2010 Code-Basis portiert Diese nun wieder fixiert ist und wir. (Diesmal für gut!) ‚re suchen in Versand dieses Update in VS2010 SP1.

Alex Turner Progamm Manager Visual Basic und C # Compiler“So sollte es bald behoben werden.

EDIT:. Ich habe gerade doppelt geprüft dies in SP1 und es ordnungsgemäß funktioniert

War es hilfreich?

Lösung

Der Debugger Visualizer für Dictionary ist genau die gleiche Klasse mit dem exakt gleichen Verhalten. Es ist nach wie vor der private Mscorlib_DictionaryDebugView Klasse. Es zeigt nicht expandierten Count, erweitert es eine Anordnung der Elemente zeigt.

Ihr Code-Schnipsel zeigt, dass Sie eine ganz andere Klasse Dictionary verwenden, eine, die nicht generisch ist.

Andere Tipps

Es gibt eine Abhilfe, den Inhalt des Wörterbuchs im Debugger dump.

  1. Um Ihr Projekt, fügen Sie einen Verweis auf die Linq-dll (z System.Core)

  2. Fügen Sie die folgende Anweisung in der Quelldatei:

    mit System.Linq;

  3. In dem Uhrenfenster ein:

    test.Take (1)

  4. Dann dehnen sich die „Ergebnisse anzeigen“ Gruppenzeile. Dies sollten Sie die bekannte Liste der Schlüssel, Wert-Paare.

[Diese Problemumgehung durch rickpastoor auf connect.microsoft.com für Bug berichtet wurde 557.741]

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top