Domanda

Ricevo un errore di collegamento abbastanza lunga e confusa, e mi piacerebbe se solo potessi incollarlo in qualche testo su qualche sito e hanno i nomi non-alterati per me.

Qualcuno sa di tale servizio un?

È stato utile?

Soluzione

Ho creato un serivice tale linea: http://demangler.com

Questa è una gcc c ++ simbolo demangler. Basta copiare una traccia dello stack, o l'uscita di nm in una casella di testo, e restituirà l'uscita con i nomi demangled.

@Update: Ora demangles anche i simboli MSVC e Java.

Altri suggerimenti

Questo potrebbe essere un po 'tardi, ma ho creato uno, sulla base di questa domanda. Funziona con gli ingressi che ho provato su, supporti g ++ e msvc ++ tramite __cxa_demangle e __unDName, compilato per Javascript tramite Emscripten. Spero che questo aiuta qualcuno: C ++ filtjs

Modifica: Risolto problema fuga

La maggior parte (se non tutti) i compilatori C ++ sono dotati di strumento c++filt che fa esattamente quello che apparentemente cercando.

Se si desidera che al clic del mouse ... beh scrivere una GUI per esso;)

Ci sono due copia-e-incolla di soluzioni on-line:

Se avete solo bisogno di supporto per GCC e Clang, hai anche la possibilità di utilizzare Coliru , che è probabilmente il più versatile linea C ++ .

Questa non è così semplice come tagliare, incollare, e fare clic su - ma non troppo difficile - e sembra che non ci sono problemi con parametri di modello come è stato osservato in precedenza. Hai solo bisogno di modificare la riga di comando per eseguire qualcosa di simile:

cat main.cpp | c++filt -t

vederla dal vivo con questo esempio che demangles:

_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)
           ^^^^^^^^^^^

A proposito, c'è anche una gemma Ruby per decodifica i Borland / MS / qualunque cosa storpiato nomi: unmangler

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top