VS2010 RC - nur 100 std :: map Elemente im Debugger

8

Ich habe ein kleines Problem beim Debuggen meiner App in VS 2010 RC, wenn ich alle Elemente von std :: map container sehen möchte.

Wenn der Debugger den Breakpoint erreicht und ich die Werte der Map im Element Inspector überprüfen will (in 'Locals'-Fenstern und in Popup-Fenstern, nachdem ich den Variablennamen auch mit der Maus gehalten habe) und scrolle ich nach unten Liste der Elemente stoppt es auf dem Element 100 und ich kann keine nächsten Elemente. Die Karte enthält mehr als 200 Elemente (der Zähler der Karte zeigt dies korrekt an), aber ich kann sie nicht alle im Element-Inspektor anzeigen.

Das Problem tritt sogar in der einfachsten std::map<int, int> auf, die mit 200 int-Werten gefüllt ist.

Vielleicht ist das ein Problem mit den Einstellungen, aber ich habe viele Kombinationen ausprobiert und es funktioniert immer noch nicht. Vielleicht hat jemand ein paar Ideen, wie man das löst.

Vielen Dank im Voraus für Ihre Hilfe.

    
MKP 24.02.2010, 15:51
quelle

2 Antworten

3

Die Anzeige solcher Informationen wird von der Datei autoexp.dat gesteuert (normalerweise unter "Programme *" \ "Microsoft Visual Studio *" \ Common7 \ Packages \ Debugger). Es scheint, dass Microsoft dem #tree-Operator eine fest codierte Begrenzung von 100 Elementen hinzugefügt hat, um das Einfrieren von Visual Studio im Falle von Schleifen in der Struktur zu vermeiden.

    
plodoc 25.02.2010, 17:41
quelle
3

Mit VS 2010 SP1 wurde dieses Limit auf einen Standardwert von 2000 Einträgen erhöht. Dies kann auch durch Einstellen eines Registrierungsschlüssels geändert werden (alle Standardwarnungen zum Ändern der Registrierung gelten hier):

  • für x86: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ VisualStudio \ 10.0 \ NativeDE \ VisualizerMaxChildren
  • für x64: HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ VisualStudio \ 10.0 \ NativeDE \ VisualizerMaxChildren

Scot Brennecke, Eskalationsingenieur Microsoft VC ++ - Unterstützung

    
Scot Brennecke 14.04.2011 18:32
quelle