I have created such an online serivice: https://demangler.com
This is a gcc c++ symbol demangler. You just copy a stack trace, or the output of nm into a text box, and it will return the output with the names demangled.
@Update: It now demangles MSVC and Java symbols also.
This might be a bit late, but I created one, based on this question. It works with the inputs I tried on, supports g++ and msvc++ via __cxa_demangle and __unDName, compiled to Javascript via Emscripten. Hope this helps someone: c++filtjs
Edit: Fixed escaping problem
Most (if not all) C++ compilers come with c++filt
tool which does precisely what you apparently looking for.
If you want it at the mouse click... well write a GUI for it ;)
There are two copy-and-paste online solutions:
If you only need support for GCC and Clang, you also have the option of using Coliru, which is probably the most versatile online C++ compiler.
This is not quite as simple as cut, paste, and click - but not too much harder - and it looks like there are no issues with template parameters as was noted above. You just need to modify the command line to run something like this:
cat main.cpp | c++filt -t
See it live with this example which demangles:
_Z6kernelIfLj3EEvPT_5arrayIPKS0_XT0_EES5_S2_IjXT0_EES6_S0_
to:
void kernel<float, 3u>(float*, array<float const*, 3u>, array<float const*, 3u>, array<unsigned int, 3u>, array<unsigned int, 3u>, float)
^^^^^^^^^^^
FYI, there's also a Ruby gem to demangle Borland/MS/whatever mangled names: unmangler
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With