Pregunta

Me estoy poniendo un error de enlace confundiendo bastante largo y, y me encantaría que si tan sólo pudiera pegarla en algún cuadro de texto en algún sitio web y tienen los nombres alterados por la ONU para mí.

¿Alguien sabe de un servicio de este tipo?

¿Fue útil?

Solución

He creado una línea tales serivice: http://demangler.com

Este es un gcc c ++ símbolo demangler. Sólo tienes que copiar un seguimiento de pila, o la salida de nm en un cuadro de texto, y ha de devolver la salida con los nombres recompuestos.

@Update: Ahora demangling MSVC y Java símbolos también.

Otros consejos

Esto podría ser un poco tarde, pero creado uno, en base a esta pregunta. Funciona con las entradas me probé, soportes g ++ y msvc ++ vía __cxa_demangle y __unDName, compilado a través de Javascript emscripten. Esperamos que esto ayude a alguien: C ++ filtjs

Editar: Se ha corregido un problema de escapar

La mayoría (si no todos) los compiladores de C ++ vienen con la herramienta c++filt lo que hace exactamente lo que aparentemente buscando.

Si usted quiere que el clic del ratón ... bueno escribir una interfaz gráfica de usuario para ello;)

Hay dos copiar y pegar soluciones en línea:

Si sólo necesita apoyo para GCC y Sonido metálico, también tiene la opción de usar Coliru , que es probablemente la más versátil línea compilador de C ++ .

Esto no es tan simple como cortar, pegar, y haga clic en - pero no demasiado difícil - y parece que no hay problemas con los parámetros de plantilla como se señaló anteriormente. Sólo tiene que modificar la línea de comandos para ejecutar algo como esto:

cat main.cpp | c++filt -t

verlo en directo con este ejemplo, que demangling:

_Z6kernelIfLj3EEvPT_5arrayIPKS0_XT0_EES5_S2_IjXT0_EES6_S0_

a:

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

Para su información, también hay una gema Ruby a demangle Borland / MS / lo que sea destrozado nombres: unmangler

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top