Question

Je reçois une erreur de lien assez long et confus, et je serais ravi si je pouvais le coller dans une zone de texte sur un certain site Web et ont les noms pour moi un mutilées.

Quelqu'un sait-il d'un tel service?

Était-ce utile?

La solution

J'ai créé un tel serivice en ligne: http://demangler.com

Ceci est un gcc c ++ symbole demangler. Vous copiez juste une trace de la pile ou la sortie nm dans une zone de texte, et il retournera la sortie avec les noms demangled.

@Update: Il demangles maintenant des symboles MSVC et Java aussi.

Autres conseils

Cela peut être un peu en retard, mais je créé, basée sur cette question. Il fonctionne avec les entrées que j'ai essayé sur, prend en charge g ++ et ++ msvc via __cxa_demangle et __unDName, compilé Javascript via emscripten. Espérons que cela aide quelqu'un: c ++ filtjs

Edit: problème s'échapper fixe

La plupart (sinon tous) C ++ compilateurs viennent avec l'outil c++filt qui fait exactement ce que vous cherchez apparemment.

Si vous le souhaitez au clic de la souris ... bien écrire une interface graphique pour elle;)

Il y a deux copier-coller des solutions en ligne:

Si vous avez seulement besoin de soutien pour GCC et Clang, vous avez également la possibilité d'utiliser Coliru , ce qui est probablement le plus polyvalent en ligne C ++ compilateur.

Ce n'est pas tout à fait aussi simple que couper, coller et cliquez sur - mais pas trop difficile - et on dirait qu'il n'y a aucun problème avec les paramètres du modèle comme cela a été indiqué ci-dessus. Vous avez juste besoin de modifier la ligne de commande pour exécuter quelque chose comme ceci:

cat main.cpp | c++filt -t

voir vivre avec cet exemple qui demangles:

_Z6kernelIfLj3EEvPT_5arrayIPKS0_XT0_EES5_S2_IjXT0_EES6_S0_

à:

void kernel<float, 3u>(float*, array<float const*, 3u>, array<float const*, 3u>, array<unsigned int, 3u>, array<unsigned int, 3u>, float)
           ^^^^^^^^^^^

Pour votre information, il y a aussi un petit bijou Ruby à demangle Borland / MS / whatever noms déchiquetés: unmangler

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top