2010-02-24 4 views
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.VS2010 RC - nur 100 std :: map Elemente im Debugger

Wenn der Debugger den Haltepunkt erreicht und ich die Werte der Karte im Element Inspector (in 'Locals'-Fenstern und in Popup-Fenstern nach dem Schweben des Variablennamens mit der Maus) überprüfen möchte, scrolle ich nach unten die Liste der Elemente stoppt es auf dem Element 100 und ich kann nicht die 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 erscheint selbst in der einfachsten std::map<int, int> mit 200 int-Werten gefüllt.

Vielleicht ist dies 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ösen kann.

Vielen Dank im Voraus für Ihre Hilfe.

+0

Ich würde vermuten, dass es nur eine Einschränkung des Debuggers ist. Sie haben sich wahrscheinlich für Obergrenzen entschieden. Für ** wirklich ** große Datenstrukturen hängt es nicht nur für etwas, das für immer aussieht. –

+0

Für diesen speziellen Fall, konnten Sie nicht einfach die altmodische Weise debuggen und den Karteninhalt auf stdout oder eine Datei ausdrucken? Es sind nur ein paar Zeilen Code, und es wird wahrscheinlich nur ein einmaliger Job sein. –

+1

Melden Sie das Problem mit Microsoft (https://connect.microsoft.com/), wenn Sie das Gefühl haben, dass es adressiert werden muss. – Max

Antwort

3

Die Anzeige solcher Informationen wird von der Datei autoexp.dat gesteuert (normalerweise in "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 verhindern.

+0

Auf VS 2008 gibt es auch ein Limit: Die Wert-Zeichenfolge ist auf etwa 400 Zeichen begrenzt, mit ... zu beenden, um anzuzeigen, dass es mehr Werte gibt. – plodoc

3

Mit VS 2010 SP1 wurde dieses Limit auf einen Standardwert von 2000 Einträgen erhöht. Dies kann auch durch Festlegen eines Registrierungsschlüssels geändert werden (alle Standard-Warnungen zu dem Bearbeiten 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, Escalation Engineer Microsoft VC++ Unterstützung

Verwandte Themen