2012-04-29 2 views
9

TL; DR: Kann die Typinformation, die in Visual Studio Debugger/Intellisense/Compiler-Ausgabe für lange Typnamen aus STL angezeigt wird, für den Entwickler bereinigt werden?Verringertes Rauschen in der Debug-Ansicht von STL-Typen

C++, Visual Studio

Betrachten Sie den Code ein:

std::map<int, int> m; 

Betrachten Sie die Typ Informationen in

  1. Überwachungsfenster watch window

  2. mit einer Maus auf der Kennung über mouse over

  3. Intellisense Aufforderung (Parameter für ein Verfahren, ein Bild der Kürze halber formatieren) method parameter

  4. (wie # 3) intellisense Abschluss für einen Identifikator, wie Sie den Namen eingeben intellisense

stl Container sind eine von Details langen Chaos selten benötigt Jeder dieser Fälle zeigt Typbeschreibungen für.

Ich habe bemerkt, Visual Studio 2011 zeigt nun string als std::string (eine wunderbare Verbesserung), statt std::basic_string<char, std::char_traits<char>, std::allocator<char>> - dies gilt jedoch nicht für andere stl Typen die ich getestet habe.

Ich weiß, warum es zeigt, dass Informationen, ich weiß, dass die Informationen korrekt sind, und in einigen Fällen kritisch wichtig. Es ist einfach meine Meinung, dass die Entwickler die meiste Zeit nicht weniger interessieren und map<int, int> würde ausreichen. Sie können den Ausgang formatieren oder konfigurieren, um das Rauschen zu reduzieren.

+0

Abgesehen davon, dass es weit von einem langen Typnamen entfernt ist, ist es eines der grundlegenden Probleme von C++ - Fehlern und Debugging. Sie können nichts auslassen, ohne wichtige Informationen zu verbergen. – pmr

+2

Schönes Farbschema! – Puppy

+0

@pmr Ich stimme zu, dass es wesentliche Informationen sind - aber sagst du mir, dass du das nicht weißt (außer einige haben die Namen gehackt), dass 'std :: map ' IS 'std :: map , std :: allocator >> '? Musst du das jedes Mal sehen, weil du vergisst oder unsicher bist? Dies sind keine wesentlichen Informationen, die Sie JEDES MAL sehen müssen. Das ist mein Punkt. – payo

Antwort

1

Das Tool, das Sie für STLFilt (http://www.bdsoft.com/tools/stlfilt.html) suchen.

Courtesy: http: //yosefk.com/c++fqa/templates.html#fqa-35.17

Obwohl die kryptischen Warnungen/Fehler mühsam sein kann für einen Anfänger zu entschlüsseln, würde ich Ihnen vorschlagen, Gewöhne dich daran, wenn du ein Profi sein willst.

+0

Ich kann die kryptische STL-Ausgabe ganz gut lesen (seit Jahren C++ professionell schreiben), es ist nur eine Verschwendung von Zeit, um es zu lesen. Ich überprüfe deinen Vorschlag, danke. – payo

+0

Stlflilt wird gut genug sein, danke für den Vorschlag :) – payo

Verwandte Themen