Frage

In meiner Entwicklungsumgebung, ich bin Kompilieren eine Code-Basis unter Verwendung von GNU C ++ 3.4.6. Code ist in der Entwicklung, und leider stürzt hin und wieder. Es ist schön zu können, die Rückverfolgung durch einen demangler laufen, und ich verwende c ++ filt 3.4. Das Problem kommt, wenn Funktionen eine Reihe von STL Parametern. Betrachten

My_callback::operator()(
   Status&,
   std::set<std::string> const&,
   std::vector<My_parameter*> const&,
   My_attribute_set const&,
   std::vector<My_parameter_base*> const&,
   std::vector<My_parameter> const&,
   std::set<std::string> const&
)
{
   // ...
}

Wenn diese Funktion im Traceback ist, die verstümmelten Ausgabe auf meiner Plattform ist:

(_ZN30My_callbackclER11StatusRKSt3setISsSt4lessISsESaISsEERKSt6vectorIP13My_parameterSaISB_EERK17My_attribute_setRKS9_IP18My_parameter_baseSaISK_EERKS9_ISA_SaISA_EES8_+0x76a) [0x13ffdaa]

c ++ filt freundlich demangles es zu

(My_callback::operator()(Status&, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<My_parameter*, std::allocator<My_parameter*> > const&, My_attribute_set const&, std::vector<My_parameter_base*, std::allocator<My_parameter_base*> > const&, std::vector<My_parameter, std::allocator<My_parameter> > const&, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)+0x76a) [0x13ffdaa]

Dies ist das gleiche Problem wie Compiler-Fehler auftreten, wenn Vorlagen. Allerdings ist die STL ein ziemlich regelmäßig und erkennbar Paket von Vorlagen. Was ist also ich hoffe, dass jemand da eine erweiterte Version von c ++ filt geschaffen hat, die etwas näher an die ursprüngliche Funktion Unterschrift Dump würde. Irgendwelche Hinweise?

War es hilfreich?

Lösung

STLFilt vereinfacht und / oder reformats langatmig C ++ Fehler- und Warnmeldungen, mit ein Fokus auf STL bezogene Diagnose. Das Ergebnis macht viele selbst die kryptischen Diagnostik verständlich.

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